【发布时间】:2016-02-04 22:50:11
【问题描述】:
我有以下代码:
变量声明:
$scope.updateUploadView =
{
ready:{
inview:false,
text: "starting"
},
uploading:{
inview:false,
text: "uploading"
},
done:{
inview:false,
text: "done !"
}
};
$手表:
angular.forEach($scope.updateUploadView, function(element, key) {
$scope.$watch(function () {
return element;
}, function() {
// do stuff
});
},true);
});
这里的问题是我想忽略 $watch 以触发未定义的属性,因为它会导致视图在应用程序启动时更改 3 次。是否有可能等待变量声明?
【问题讨论】:
-
把那一堆代码扔进 angular.element(document).ready(function(){ ... });
-
已经试过了,还是触发3次:(
-
关于您的控制器/父控制器/模板结构的信息太少。真的很难猜测可能会影响到这一点。但是你说它已经触发了3次。你能从中了解到点东西! 3个控制器? 3 次观看? 3个对象?沿着这些思路思考。不知道还有什么建议,在申请watcher之前找到一切准备就绪的点
-
我链接了一个jsfiddle,你会更容易理解
-
你可能简化了小提琴的例子,它似乎工作得很好
标签: javascript angularjs