0
作用域的name属性未使用从$ timeout返回的值更新。
$ timeout返回一个由提供给它的函数返回的值解析的promise。我阅读视图绑定接受承诺。但它不适合我。 更新使用承诺绑定的作用域属性
angular.module('myApp',[]).controller('ctrl',function($scope,$timeout){
$scope.name = $timeout(function() {
return "World";
}, 3000);
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="myApp" ng-controller="ctrl">
<h1>Hello, {{name}}!</h1>
</body>
不知道你为什么要这样做(可能受到$ resource实现的影响?),但是你可以尝试一下[像这样](http://plnkr.co/edit/jFXXFt?p=preview)。我不认为视图绑定接受承诺了,这是我猜想的一个很长的后面的故事。 – PSL 2014-09-24 00:57:36
@PSL所以我正在阅读一篇旧文章呢? – 2014-09-24 01:05:19
猜猜是这样的。它从1.2 rc被删除。通常情况下,$ parse和templates将不再自动解开承诺。此功能已弃用,如果绝对需要,可以在过渡期间通过$ parseProvider.unwrapPromises(true)api重新启用该功能。功能在rc.2中添加,如果值为承诺(如果承诺展开已启用 - 请参阅上一个点),则从函数展开返回值,由于打破了常用的使用模式而被还原。“ – PSL 2014-09-24 01:07:16