我注意到scope.watch只有在值發生變化時纔會觸發。現在爲了激發scope.watch每次我這樣做:scope.watch在設置值時觸發
var module = angular.module('myapp', []);
module.controller("TreeCtrl", function($scope) {
$scope.changeValue = function(){
$scope.name = new Date();
};
});
module.directive("tree", function($compile) {
return {
restrict: "E",
template:'<div>sample</div>',
link : function(scope, elm, $attrs) {
scope.$watch('name', function(newVal, oldVal) {
console.log(scope.userName);
});
}
};
});
即$ scope.name = new Date();
是否有任何其他方式來捕獲scope.watch每當設置變量。
我fidddle是http://jsfiddle.net/xxkgxLr9/34/
是scope.watch正確的方法呢?
我的目標是從控制器每當一個範圍變量設置
通過這樣做,指令/控制器正在變得緊密耦合。控制器不應該知道指令中駐留的方法。 – Raghav