1
更新:我挖得更深一點,發現在1.2.0之後的角度已棄用auto-unwrapping of promises。Angular JS承諾評估
我知道Angular JS會評估作爲承諾的範圍變量,然後在履行承諾時更新控制器的視圖。
我的問題是:
http://jsfiddle.net/dhruvkaran/Lv5vF/4/
<div ng-app="myApp">
<div ng-controller="DemoController">
{{foo}}
</div>
</div>
<script>
var myApp = angular.module("myApp", []);
myApp.controller('DemoController', function($scope) {
$scope.foo = "bar";
});
</script>
作品就好了,但是,
http://jsfiddle.net/dhruvkaran/Lv5vF/5/
<div ng-app="myApp">
<div ng-controller="DemoController">
{{foo}}
</div>
</div>
<script>
var myApp = angular.module('myApp', []);
myApp.controller('DemoController', function($scope, $q) {
var deferred = $q.defer();
deferred.resolve("bar");
$scope.foo = deferred.promise;
});
</script>
沒有。
我在這裏做錯了什麼?
在這種情況下它不會幫助,因爲函數註冊處理它之前承諾解決。 –
您可以在任何回調註冊到承諾之前實際解決承諾。 OP的代碼jsfiddle:http://jsfiddle.net/Lv5vF/6/ – Patrick
很高興知道謝謝! –