【发布时间】:2014-05-07 00:23:59
【问题描述】:
假设我有一个特定顺序的键数组
orderedNames=["mike","bob","sarah];
我有一个 JSON,我想使用 ng-repeat 显示,但按照它们出现在数组中的顺序:
{"people":
{
"bob":{
"hair":"brown",
"eyes":"blue",
"height":"tall"
},
"sarah":{
"hair":"blonde",
"eyes":"blue",
"height":"short"
},
"mike":{
"hair":"red",
"eyes":"blue",
"height":"tall"
}
}
}
我如何编写一个文件管理器,它会导致 ng-repeat 按数组中指定的顺序吐出人员?
<li ng-repeat="person in people | orderNames"></li>
【问题讨论】:
-
您为什么不想在控制器中执行此操作?您如何获取数据(带有订单的数组和带有对象的数组)?你试过什么?
-
我从服务器、对象和键数组中并行获取这两个东西。除非有一种简单的方法可以将它们都填充到过滤器中,否则我可能只会遍历 id 数组并使用每个键直接从模型中获取所有数据,而不是在对象本身上使用 ng-repeat。
-
zsong 的回答听起来好像可以解决问题。我个人仍然认为更好地操作控制器上的数据,因为您将拥有更多控制权。 zsong 的回答并不能保证你会按照你想要的顺序显示数据。
标签: javascript arrays angularjs angularjs-ng-repeat angularjs-filter