AngularJS docs say:AngularJS hứa
$ q lời hứa được công nhận bởi các công cụ khuôn mẫu trong góc, có nghĩa là trong các mẫu bạn có thể đối xử với những lời hứa gắn liền với một phạm vi như thể chúng là các giá trị kết quả.
Vì vậy, ai đó có thể vui lòng giải thích lý do này fiddle không hoạt động? Không thể thay đổi giá trị trường văn bản. Nhưng gán lời hứa rằng dịch vụ $ http trả về một lĩnh vực phạm vi hoạt động giống như một sự quyến rũ.
Bộ điều khiển:
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">
Bạn có thể chỉ cho tôi cách bạn chỉ định lời hứa trả về $ http đã hoạt động theo cách bạn muốn không? – Dogbert
@ Dogbert, Đây là mã giả để minh họa những gì tôi đã nói về: '$ scope.item = $ http ({phương thức: 'post', url: '/ find/my/item /'}) .then (chức năng (phản hồi) { trả về trả lời.item; }); ' Một ví dụ khác sử dụng phương pháp tiếp cận tài nguyên $ có thể được tìm thấy trong [hướng dẫn] này (http://docs.angularjs.org/tutorial/step_11). Bắt đầu từ dòng: 'Lưu ý cách thức trong PhoneListCtrl chúng tôi đã thay thế ... bằng $ scope.phones = Phone.query();' –
Rất tiếc, vừa tạo [ví dụ kiểm tra] (http://plnkr.co/edit/ VP1Td3WtdM0E7n5HJH3W? P = xem trước), và nó xuất hiện không hoạt động với bất kỳ lời hứa –