すべての新しい作業では、ControllerAs構文を使用しvmて、ビュー内でコントローラーを参照できるようにします。これは素晴らしいことです。
$scopeただし、構文を使用する古いコードの大部分はまだ残っています。特に、親コントローラーの関数をng-click="groupClick"通常呼び出す私のディレクティブの使用の1つ。このビューは構文で構築されているため、これはもう機能しません。groupClick$scopeContollerAs
既存のコードは次のようになります (簡略化)
<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"); }