AngularJSのドキュメントによると:
$ qプロミスは、角度のあるテンプレートエンジンによって認識されます。つまり、テンプレートでは、スコープにアタッチされたプロミスを、結果の値であるかのように扱うことができます。
それで、誰かがこのフィドルが機能しない理由を説明できますか?テキストフィールドの値を変更することはできません。しかし、$ httpサービスがスコープフィールドに戻るという約束を割り当てることは、魅力のように機能します。
コントローラ:
function MyController($scope, $q, $timeout) {
this.getItem = function () {
var deferred = $q.defer();
deferred.resolve({
title: 'Some title'
});
return deferred.promise;
};
$scope.item = this.getItem();
}
HTML:
<input type="text" ng-model="item.title">