我几天前刚刚开始使用Angular JS。我有一个名为posts
的数组,其中包含对象,我想要显示它们并按照它们发布的年份进行分类。
这是posts
数组:
var posts = [
{
title: "First Blog Post of 2015",
date: "06/24/15",
content: "This is the first post of the year 2015."
}, {
title: "Second Blog Post of 2015",
date: "07/01/15",
content: "This is the second post of the year 2015."
}, {
title: "First Blog Post of 2014",
date: "07/11/14",
content: "This is the first post of the year 2014."
}
];
如您所见,posts
数组包含3个对象,代表帖子。每个“帖子”都有标题,日期和一些内容。我想这样订购:
这就是我目前所拥有的:
我能够访问这一年,但我无法进入子对象。
这是您在执行console.log($scope.postsByYear);
时在控制台中看到的内容:
我编写了一个脚本,根据记录的年份将帖子放入数组中。它只是拆分帖子的日期属性,其日期格式为mm/dd/yy
。我不知道如何ng-repeat
posts
数组中的那些对象。
这就是我所拥有的:
<div>
<h1>Blog</h1>
<ul ng-repeat="year in postsByYear">
<li>{{year.year}}</li>
<li ng-repeat="post in postsByYear.posts">{{post.title}}</li>
</ul>
</div>
我完全不知道为什么这段代码不起作用。它获取日期正常,但它无法访问post对象的属性。这有道理,对吗? Post是其中一个帖子对象的占位符,postsByYear.posts
应该在所有对象中选择标题...
Here是代码的jsFiddle链接。非常感谢您的帮助。
答案 0 :(得分:3)
只是一个简单的错误。在内部重复中,您将循环遍历错误的对象。应该是
<li ng-repeat="post in year.posts">{{post.title}}</li>