AngularJS - 通过数组的对象重复Ng

时间:2015-07-13 00:16:38

标签: javascript arrays angularjs

我几天前刚刚开始使用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个对象,代表帖子。每个“帖子”都有标题,日期和一些内容。我想这样订购:

enter image description here

这就是我目前所拥有的:

enter image description here

我能够访问这一年,但我无法进入子对象。

这是您在执行console.log($scope.postsByYear);时在控制台中看到的内容: enter image description here

我编写了一个脚本,根据记录的年份将帖子放入数组中。它只是拆分帖子的日期属性,其日期格式为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链接。非常感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

只是一个简单的错误。在内部重复中,您将循环遍历错误的对象。应该是

<li ng-repeat="post in year.posts">{{post.title}}</li>