我试图使用ng-switch
显示一些内容:
<div ng-app ng-controller="ctrl" >
<div ng-repeat="list in statusList">
<p ng-switch on="list">
<span ng-switch-when="incorrect">
i am incorrect
</span>
<span ng-switch-when="stuff">
i am stuff
</span>
<span ng-switch-when="wrong">
i am wrong
</span>
<span ng-switch-default>
Correct
</span>
</p>
</div>
</div>
控制器
function ctrl($scope){
$scope.statusList=["incorrect","wrong","stuff"];
}
获得如下输出:
我不对
我错了
我是东西
但我需要按照我指定的顺序显示输出。即。
我不正确 我是东西 我错了
我该怎么做,一点是我们不应该改变控制器中的顺序。
答案 0 :(得分:0)
您可以按功能创建自定义顺序,例如Using Django models in external python script。
rand(10000,99999)
您可以按字母顺序排序(使用过滤器),但我不推荐它,因为您可能会添加不按字母顺序排序的新元素。
答案 1 :(得分:0)
ng-repeat
迭代使用列表的顺序。您可以定义自定义过滤器以根据需要对列表进行排序,也可以使用其他方法:
定义'包含'过滤器,如果数组包含元素,则返回true
:
.filter('contains', [function() {
return function(array, element) {
return array.indexOf(element) > -1;
}
}])
使用ng-ifs
作为模板(不重复):
<div ng-if="statusList | contains : 'incorrect'">i am incorrect</div>
<div ng-if="statusList | contains : 'stuff'">i am stuff</div>
<div ng-if="statusList | contains : 'wrong'">i am wrong</div>
这样您就可以定义您想要的任何订单。