我将比较两个对象数组,并将其与选中了相同对象复选框的对象一起显示。现在,我想将带复选框的列表排序为默认状态。 我还想通过单击标题进行排序以按升序排序。
<div>header</div>
<div class="search" ng-repeat="items in products ">
<label >{{item.name}}</label>
<input type="checkbox" ng-model="item.checked"
ng-click="checked(item,productlist)"
ng-checked=" checked(item,productlist)">
</div>
我尝试使用orderBy:[‘-checked’,’item’]: true
对选中的内容进行排序,但无法正常工作。任何想法
答案 0 :(得分:1)
这里有一些问题...
您有ng-repeat="items in products"
,但是您在此范围内引用了item
而不是items
。
您具有要传递给checked()
和ng-click
的{{1}}方法。这到底在做什么?您不应该将ng-checked
与ng-checked
-https://docs.angularjs.org/api/ng/directive/ngChecked
通过将ng-model
传递到'-checked'
,将以相反的orderBy
值对项目进行排序,即,将首先checked
对项目进行排序,{{1 }}最后。然后,您将false
作为参数true
传递给true
,因此该列表将再次反转。您不必要地颠倒了两次订购-https://docs.angularjs.org/api/ng/filter/orderBy
这可能会更好...
reverse