将活动列表放在列表的顶部

时间:2018-01-12 13:47:35

标签: javascript html angularjs function

我有一个使用ng-repeat的项目列表。

<ul>
    <li ng-repeat="item in items"><a href="">{{item.name}}</a></li>
</ul>

每当我点击生成列表中的任何项目时,它都会获得活动类。

现在有人可以让我知道如何让活动项目在列表顶部。

感谢任何帮助。谢谢

2 个答案:

答案 0 :(得分:1)

您必须在商品中添加有效属性,通过此属性订购商品,处理点击事件并将有效设置为true仅适用于点击的项目:

LEN([DataField]) > 0

答案 1 :(得分:1)

您必须使用click指令绑定ng-click eventr处理程序。

然后您只需要reorder您给定列表的顺序。

<ul>
    <li ng-click="clickItem(item)" ng-repeat="item in items"><a href="">{{item.name}}</a></li>
</ul>

JS

$scope.clickItem = function(item){
   //get item
   var obj = $scope.items.find(a => a.id == item.id);
   //remove item from list
   $scope.items = $scope.items.filter(i => i.id != item.id);
   //add item at beggining of the array
   $scope.items.unshift(obj);
}