【发布时间】:2014-12-29 07:49:00
【问题描述】:
我正在尝试使用服务进行基本数据提取,并在我有数据时将其打印在屏幕上,但有些东西不起作用。
我的服务:
mymodule.factory('MyService', function($http, $q) {
var service = {
getData: function() {
var dfd = $q.defer();
$http.get(apiServerPath).success(function (data) {
dfd.resolve(data);
});
return dfd.promise;
}
}
return service
}
我的控制器:
mymodule.controller('myCtrl', ['$scope', 'MyService', function($scope, MyService) {
$scope.myvar = MyService.getData();
}
HTML
<div> {{myvar}} </div>
我可以从浏览器控制台看到的 -
- myvar 对象变成一个 promise 对象
- 正在调用成功函数,并且“数据”中包含有效数据
- 对于我的问题和问题 - 解析延迟对象时控制器的变量不会改变 - 为什么?
【问题讨论】:
-
你不能在视图中使用 Promise。 {{ myVar }} 应该引用 promise 的结果,而不是 promise 本身。
标签: angularjs http promise q angular-promise