所以我有一个带有一些名字的ng-repeat。我想要做的是跟随。 输出到屏幕的名称按字母顺序排列。
<div ng-repeat="n in names | orderBy:'name'"></div>
- 安
- 简
- 约翰
- 麦克
- 齐格
但是,是否可以始终将名称“Mike”显示为顶级名称,并按字母顺序排列其余名称?
- 麦克
- 安
- 简
- 约翰
- 齐格
答案 0 :(得分:4)
您可以为此编写其他排序功能。例如:
HTML:
<div ng-repeat="n in names | orderBy:[egoSort, 'name']">{{n}}</div>
控制器:
$scope.egoSort = function(name) {
return name === 'Mike' ? '' : name;
};
这是可能的,因为orderBy
允许您使用数组表示法指定多个谓词。
答案 1 :(得分:0)
还有一种方法......
向要显示在顶部的用户对象添加一个属性order
。
var specificUserName = {name: Mike,order:0}
//此名称将首先出现在列表
HTML将是
<div ng-repeat="n in names | orderBy:['order', 'name']">{{n}}</div>