AngularJS docs say:AngularJS promettent
promesses q $ sont reconnus par le moteur de templating dans angulaire, ce qui signifie que dans les modèles que vous pouvez traiter les promesses attachées à un champ d'application comme si elles étaient les valeurs qui en résultent.
Donc, quelqu'un pourrait expliquer s'il vous plaît la raison pour laquelle cette fiddle ne fonctionne pas? Il n'est pas possible de changer la valeur du champ de texte. Mais l'attribution de promesses que le service $ $ renvoie à un champ d'étendue fonctionne comme un charme.
Controller:
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">
Pourriez-vous me montrer comment vous avez attribué une promesse retournée par $ http qui a fonctionné comme vous le souhaitiez? – Dogbert
@Dogbert, Voici un pseudo-code pour illustrer de quoi je parlais: '$ scope.item = $ http ({méthode: 'post', url: '/ find/mon/item /'}) .then (function (response) { return response.item; }); ' Un autre exemple utilisant l'approche $ resource peut être trouvé dans ce [tutorial] (http://docs.angularjs.org/tutorial/step_11). À partir de la ligne: 'Notez comment dans PhoneListCtrl nous avons remplacé ... avec $ scope.phones = Phone.query();' –
Oups, juste créé [exemple de test] (http://plnkr.co/edit/ VP1Td3WtdM0E7n5HJH3W? P = preview), et il semble ne pas fonctionner avec aucune promesse –