Javascript 角度:获取触发$watch的原因
一个非常简短的问题:在Angular中,是否有任何方法可以获得要触发的Javascript 角度:获取触发$watch的原因,javascript,angularjs,angularjs-scope,Javascript,Angularjs,Angularjs Scope,一个非常简短的问题:在Angular中,是否有任何方法可以获得要触发的$watch的“根本原因” 假设您有以下JavaScript代码: $scope.$watch("foo", function(value){ // here I'd like to know if the change is triggered // due to change in ngModel or through ngClick }; $scope.changeFoo = function(){
$watch
的“根本原因”
假设您有以下JavaScript代码:
$scope.$watch("foo", function(value){
// here I'd like to know if the change is triggered
// due to change in ngModel or through ngClick
};
$scope.changeFoo = function(){
$scope.foo = "bar"
};
这是HTML:
<input ng-model="foo">
<button ng-click="changeFoo()">Change Foo > Bar</button>
更改Foo>Bar
在我的
$watch
中,我想知道是什么导致它被解雇的。在这种情况下,是ngModel
中的更改,还是ngClick
功能中的我的值更改?否,当前的实现无法做到这一点
$watch
通过运行名为$apply
的函数触发。那个函数不知道是谁触发的
您需要另一个视角来解决问题。不,我们不知道是哪一个引发了问题。检查这个问题,也许尝试编写一个自定义指令将更多信息传递给您的控制器是获得触发器的一种可能方式。我不是100%确定,但我认为没有办法知道。但无法证明这一点。有趣的问题谢谢你的链接问题,我来看看!我担心这就是答案,需要检查它是否在2.0的路线图上。谢谢你的回答!