Angular - 带有controllerAs,bindToController和$ scope。$ watch的指令

时间:2016-03-08 14:48:50

标签: angularjs angularjs-directive angularjs-scope angularjs-controlleras

我有一个相当简单的AngularJS问题,我似乎无法找到答案:

在使用$scope.$watch()controllerAs选项的同时,如何在指令控制器中使用bindToController

如果您需要澄清我的意思,请告诉我。

1 个答案:

答案 0 :(得分:9)

好吧,$scope.$watch关注expressions所以假设您将控制器绑定到名称vm(例如controllerAs: 'vm'),您应该使用

$scope.$watch('vm.somethingToWatch', function(newval, oldval) {...})

您需要仍然注入$scope,因为$watch本身在控制器实例上不可用。