【发布时间】:2015-12-07 02:12:21
【问题描述】:
全部:
我是 AngularJS 的新手,目前我想做的是找出哪一行导致 $watch 处理函数被调用。
举个小例子:
我设置$scope.name = ""并调用函数changeName():
function changeName(){
$scope.name = "new Name";
...
$http.get("someurl")
.then(function(data){ $scope.name = data.newname; })
}
$scope.$watch("name", function(newName, oldName){
handlingfunctionHere();
});
$scope.name 有多项更改导致$scope.$watch 触发,但是当我在 chrome 中调试时,我无法判断哪个操作导致从调用堆栈触发,谁能告诉我如何调试这个?
谢谢
【问题讨论】:
-
@PankajParkar 谢谢,老实说,我对 AngularJS 太陌生,无法完全理解这一点,你能举个例子或小提琴吗?
-
但这并不能完全确定价值从哪里得到更新..
-
如果你想跟踪
$scope.name在$http之后的变化,你可以使用不同的变量 -
@maddog 谢谢,但我想要的就像 Pankaj Parkar 所说的那样,我想知道该名称变量在哪里更新,这会导致 $watch 的触发
-
@Kuan 基本上我被建议你使用
$parser&$formatters确实可以访问$viewValue&$modalValuestackoverflow.com/questions/22841225/… 。但这种方式是不可能的..
标签: angularjs