我正在使用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'' –