我正在尝试将存储库模式与 Angular 一起使用。当我调用我的存储库时,我可以看到 json 通过网络返回。但我无法绑定(bind)它。
我正在将存储库注入(inject)到模块中...出了什么问题?
blogApp.factory('blogEntryRepository', function ($http, $q) {
return {
get: function() {
var deferred = $q.defer();
$http.get('/blogentry').success(deferred.resolve).error(deferred.reject);
return deferred.promise;
}
}
});
blogApp.controller("HomeCtrl", function($scope, blogEntryRepository) {
blogEntryRepository.get().then($scope.blogEntries = blogEntryRepository);
});
<div>
home
<div ng-repeat="blogEntry in blogEntries">
<div>Asdf
{{blogEntry.title}}
</div>
</div>
</div>
页面输出
home
Asdf
{}
json 响应是
[{"title":"Launched an AngularJS 1.2 site!","date":"2014-05-21T00:00:00"},{"title":"Title2","date":"2014-05-22T00:00:00"}]
它位于 ng-app 标记内。页面上有一个 ng-view 标签。
我可以确认我可以绑定(bind)到硬编码变量。
使用 Angular 1.2
最佳答案
尝试
blogApp.controller("HomeCtrl", function($scope, blogEntryRepository) {
blogEntryRepository.get().then(function(result){$scope.blogEntries = result});
});
关于javascript - 无法使用 Promise 绑定(bind)到 Angular 存储库数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23796389/