【发布时间】:2014-11-15 03:46:23
【问题描述】:
好的,我已经在这个问题上停留了一段时间,找不到合适的解决方案。基本上,我已经按服务器端的日期对帖子进行了分组,并且我想按 Angular 中的递减日期对组进行排序。我假设自定义过滤器是可行的方法,但我无法让它工作。
以下是部分代码:
JSON 响应:
{"September 20th":[{"id":5,"title":"Test 1","url":"www.google.com","tagline":"Test tagline 1","created_at":"2014-09-20T19:30:44.672Z","updated_at":"2014-09-20T19:30:44.672Z","vote_count":5}],"September 21st":[{"id":6,"title":"Test 2","url":"www.google.com","tagline":"Test tagline 2","created_at":"2014-09-21T00:00:00.000Z","updated_at":"2014-09-20T19:32:41.409Z","vote_count":8}]}
HTML:
<section ng-controller='MainController'>
<ul ng-repeat="(date, posts) in postList | filter?">
<h1>{{ date }}</h1>
<li ng-repeat='post in posts'>
<p>{{ post.vote_count }}</p>
<button ng-click='upvote(post)' ng-disabled='!currentUser || hasVoted(post.id)'></button>
<a href="{{ post.url }}">{{ post.title }}</a>
</li>
</ul>
</section>
这可以完美地显示信息,只是日期顺序不正确。
感谢您能给我的任何帮助!
【问题讨论】:
-
这里不需要过滤器,你只需要
reverse你要绑定的数组。 -
响应是 JSON 对象,是否可以反转?
-
JSON 是 JavaScript Object Notation 的缩写。它的主要功能是它是有效的JavaScript。 AngularJS 适用于 actual JS 对象,而不是字符串或其他任何东西。所以是的,
$http.get或任何你用来获取数据的东西都知道它需要将响应转换为 JavaScript 对象。虽然它是一个对象,而不是一个数组,所以你不能简单地反转它。 -
是的,我不需要过滤器吗?
-
你不能用 easy 的方式来修复服务器发送的响应吗?
标签: javascript json angularjs