我在这个问题上发现了很多帖子,并尝试实施一些建议的解决方案here:
但它仍然无效,我想知道使用firebase是否会成为一个问题。我创建了一个链接到Firebase数据源的服务:
servicesModule.factory("postsDB", function($resource){
return $resource("https://<datasource>.firebaseio.com/Posts/:id", {
id: "@id"
},
{
update: {
method: "PUT",
isArray : true
}
});
});
然后我的控制器:
controllersModule.controller('BlogCtrl', ["$scope", "postsDB", function($scope, postsDB) {
postsDB.query(function(posts){
$scope.myPosts = posts;
})
}]);
ng-repeat结果:
<div class="col s12 m6" id="postItems" ng-repeat="post in myPosts">
<h3>{{post.Title}}</h3>
{{post.Body}}
{{post.Author}}
</div>
我真的不明白:
错误:$ resource:badcfg 响应与配置的参数
不匹配意味着(和通常的角度误差一样),除了它显然是期待一个数组,我虽然使用postsDB.query
的全部意义就是这样做。我添加了isArray:上面是true,但它没有任何效果。如果资源作为JSON帖子数组存在,为什么我的帖子没有被加载?
答案 0 :(得分:0)
偶然事项:您需要将.json
附加到路径以使用Firebase的REST API,其次,您需要专门为查询方法设置isArray: false
。< / p>
servicesModule.factory("postsDB", function($resource) {
return $resource("https://<datasource>.firebaseio.com/Posts/:id.json", {
id: "@id"
},
{
update: {
method: "PUT",
isArray: true
},
query: {
method: "GET",
isArray: true
}
});
});