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
很高兴知道谢谢! –