すべての新しい作業では、ControllerAs
構文を使用しvm
て、ビュー内でコントローラーを参照できるようにします。これは素晴らしいことです。
$scope
ただし、構文を使用する古いコードの大部分はまだ残っています。特に、親コントローラーの関数をng-click="groupClick"
通常呼び出す私のディレクティブの使用の1つ。このビューは構文で構築されているため、これはもう機能しません。groupClick
$scope
ContollerAs
既存のコードは次のようになります (簡略化)
<span>{{vm.somePropertyOnController}}</span>
<!-- This is provided by a template I cannot change -->
<a href="" ng-click="groupClick(item)">Test</a>
<a>
(変更できないテンプレートを介して提供される)を呼び出して取得するにはどうすればよいですかvm.groupClick
。理想的には$scope
、単にgroupClick
作業を開始するためにコントローラーに追加したくない
私のコントローラーコード:
var vm = this;
vm.somePropertyOnController = "yay vm is cool";
// i really dont want to do this! dont make me!
$scope.groupClick = function (group) { console.log("test"); }