我有一个角度应用程序,它通过简单的表达式绑定显示控制器方法返回的值:
<div>{{getValue()}}</div>
如果所讨论的方法只返回一个值,则该方法会被调用两次,这很奇怪:
$scope.getValue = function(){
return 'some value';
}
但是,如果该方法执行一些异步工作,例如从服务器获取文件,则代码将进入无限循环:
$scope.getValueAsync = function(){
$http.get('myfile.html')
.success(function (data, status, headers, config) {
return 'some async value';
});
return 'file not found'; // same value returned every time but $digest cycle still loops
}
我是Angular的新手,所以可能在这里错过了一些基本的东西,但是有人可以解释发生了什么吗?
普朗克
这是一个与http://plnkr.co/7BriYDbdVJvIoIigQcTU一起玩的 plunker