【发布时间】:2013-09-30 07:14:51
【问题描述】:
我对 angularjs 很陌生,并且得到了一个我想要显示的 json 结果集。我有以下内容;
服务:
var Post = function(data) {
angular.extend(this, data);
}
Post.getAll = function() {
return $http.get('/api/posts').then(function(response) {
var Posts = [];
for(var i = 0; i < response.data.length; i++) {
Posts.push(new Post(response.data[i]));
}
return Posts;
});
};
控制器方法:
$scope.Posts = Posts.getAll();
html 视图:
<ul ng-repeat="post in Posts">
<li>{{ post.title }}</li>
</ul>
问题是,虽然一切都正确重复,但我无法访问每个对象的成员。例如:post.title 或 post.text 不显示。但是,如果我使用 {{ post }} 它会显示整个结果的 json。
我哪里错了?
编辑:感谢下面的评论,如果我使用
post[0].title
它正确显示,但是这是显示 json 结果数组的正确方法吗?我更喜欢使用正确的方法,而不是“行之有效”的方法。
【问题讨论】:
-
可能是您访问它的方式吗? {{post}} 显示了什么?
-
{{ post }} 显示整行的 json,例如 "{"0":{"title":"Test title","introduction":"test Introduction.." I'我不确定如何转换对象以便我可以绑定 {{ post.title }} 或者是否有其他方式我应该绑定它。
-
从返回数据的方式来看,(
post[0].title) 是正确的方法。您可以更改数据源以删除{"0": -
是的,post[index].title 是绑定 JSON 的正确方法
-
好的,感谢您的帮助!
标签: angularjs angularjs-ng-repeat angularjs-service