更新: もう少し深く掘り下げたところ、1.2.0 に続くプロミスの自動アンラップが非推奨になっていることがわかりました。
Angular JS は、promise であるスコープ変数を評価し、promise が満たされたときにコントローラーのビューを更新することを理解しています。
私の質問は:
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>
ではない。
ここで何が間違っていますか?