我有一些 Angular 变量设置如下:
$scope.pane = [];
$scope.pane.count = 0;
$scope.pane.max = 5;
然后我像这样在 HTML 中显示变量:
{{pane.count}}
这工作正常并按预期显示 0
。
现在,如果我在任何时候更新变量,更新都会发生(我可以使用 console.log 看到)但 HTML 中的打印版本不会更新。
例如
setTimeout(function(){
$scope.pane.count = 1;
},1000);
我正在使用 Angular v1.3。我做错了什么?
最佳答案
为了让angular知道变化,你必须使用angular wrapper超时。
试试这个:
$timeout(function() {
$scope.pane.count = 1;
}, 1000);
通常,当你有一个外部结构(例如 jQuery 插件)改变值时,你必须调用 $scope.$apply() 让 Angular 知道它们。
$scope.$apply();
关于javascript - 范围变量以 Angular 更新,但更改未反射(reflect)给用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26866394/