在我看来,我这样做:
<div ng-repeat="item in items">
{{item.some_key}}
</div>
some_key变量只有3种类型的字符串输出:&#34;不安全&#34;,&#34;提升&#34;和&#34;追踪&#34;。我想按此顺序订购商品的输出:首先是所有不安全的商品,然后是&#34;提升&#34;最后&#34;追踪&#34; ......我不能通过一个简单的顺序来做这个过滤器...如何实现这个目标?
提前感谢您的帮助!
答案 0 :(得分:2)
制作自定义orderBy
<div ng-repeat="item in items | orderBy: statusEvent">
{{item.some_key}}
</div>
$scope.statusEvent = function(item) {
if (item.some_key == "unsafe") return 0
else if (item.some_key == "elevated") return 1
else if (item.some_key == "trace") return 2
else return 3
}
答案 1 :(得分:1)
使用自定义过滤器
var orders = {
unsafe:0,
elevated:1,
trace:2
}
$scope.someKeyOrder = function(item){
return orders[item.some_key];
}
并使用它
ng-repeat="item in items | orderBy: someKeyOrder"
演示