对于所有新工作,我使用ControllerAs
语法,以便我可以vm
在我的视图中引用控制器。这是伟大的。
但是,我仍然有很大一部分使用该$scope
语法的旧代码。特别是我的指令之一,ng-click="groupClick"
它通常会调用父控制器的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"); }