Coo*_*oop 5 javascript scope angularjs
我有一些角度变量设置如下:
$scope.pane = [];
$scope.pane.count = 0;
$scope.pane.max = 5;
Run Code Online (Sandbox Code Playgroud)
然后我在HTML中显示变量,如下所示:
{{pane.count}}
Run Code Online (Sandbox Code Playgroud)
这很好,0并按预期显示.
现在,如果我在任何时候更新变量,更新确实发生(我可以看到使用console.log),但HTML中的打印版本不会更新.
例如
setTimeout(function(){
$scope.pane.count = 1;
},1000);
Run Code Online (Sandbox Code Playgroud)
我正在使用Angular v1.3.我究竟做错了什么?
hal*_*ilb 15
为了让角度知道变化,你必须使用角度包装器来超时.
试试这个:
$timeout(function() {
$scope.pane.count = 1;
}, 1000);
Run Code Online (Sandbox Code Playgroud)
通常,当你有一个更改值的角度世界之外的结构(例如jQuery插件)时,你必须调用$ scope.$ apply()让angular知道它们.
$scope.$apply();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10016 次 |
| 最近记录: |