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

Dea*_*low 3 angularjs angularjs-directive angularjs-scope angularjs-controlleras

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

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

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

Art*_*Ale 10

那么,$scope.$watch手表expressions所以假设你的控制器结合的名称vm(例如controllerAs: 'vm'),你应该使用

$scope.$watch('vm.somethingToWatch', function(newval, oldval) {...})
Run Code Online (Sandbox Code Playgroud)

你需要仍然注入$scope,因为$watch它们本身不能在控制器实例上使用.