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