我正在使用Angular指令来对表行进行orderBy操作,并将数据作为来自服务的对象数组传递。AngularJS orderby不能按预期工作
<tr ng-repeat="album in vm.albums | orderBy: album.data.title">
<td>{{album.data.title}}</td>
<td>{{album.data.date}}</td>
<td>{{album.data.type}}</td>
<td>{{album.data.username}}</td>
</tr>
这里是我的vm.albums
阵列的样子:
vm.albums ---> [>Object1, >Object2, >Object3......]
而且每个对象看起来像FOLL:
Object1 ---> {slug: "my-title", data: Object}
Object2 ---> {slug: "beta-title", data: Object}
Object3 ---> {slug: "alpha-title", data: Object}
和对象Object1.data
或任何物体vm.albums阵列看起来如下:
Object1.data ---> {title: "My Title", date: "2015-04-06", type: "Blue", username: 'rust'}
Object2.data ---> {title: "Beta Title", date: "2012-04-07", type: "Orange", username: 'badname'}
Object3.data ---> {title: "Alpha Title", date: "2013-09-06", type: "Lemons", username: 'xerox'}
我仍然没有得到正确的排序<td>
在我的表中使用我使用的orderBy
。不知道我做错了什么。任何线索?
如果塞是一样的data.title为什么不能你只是做排序依据:album.slug?我认为这可能会更好,因为我的猜测是角度orderBy不适用于嵌套属性,除非您为其编写自定义函数 – labago
已更新我的帖子。所有的slu will将会不同。数组中的每个对象都有不同的数据。这是一个对象数组。 – noobcoder
而不是'| orderBy:album.data.title'尝试'| orderBy'data.title'' –