html - 如何使用 AngularJS orderBy

标签 html css angularjs angularjs-filter

我认为我的语法不正确?我可以在 Angular 中执行此操作吗?前两个过滤器有效但不是 order bys

<div class ="col-md-8 pull-left">
      <span ng-click="myFilter = {green: true}">Clean</span>  |
      <span ng-click="myFilter = {green: false}">Dirty</span> |
      <span ng-click="myFilter = orderBy: 'governance' : true">Goverance</span> |
      <span ng-click="myFilter = orderBy: 'environmental' : true ">Environmental</span> |
      <span ng-click="myFilter = orderBy: 'community' :true">Community</span> |
      <span ng-click="myFilter = null">All</span>
</div>

<div class="list-group-item col-md-8 pull-left" ng-repeat="site in list.links | filter:myFilter">
{{site.governance}}
{{site.environmental}}
{{site.community}}
</div>

一个示例对象是

{
      name: 'Facebook',
      url: 'www.facebook.com',
      green: false,
      governance: 45,
      environment: 69,
      community: 72,
      rank: 6
    }

最佳答案

你的语法有误,你不能那样设置,filter 和 orderBy 是两个不同的过滤器,采用 2 个不同的表达式。而是在点击时设置一个顺序变量。

<div class ="col-md-8 pull-left">
     ...
      <span ng-click=" order='governance' ">Goverance</span> |
      <span ng-click=" order='environmental' ">Environmental</span> |
      <span ng-click=" order='community' ">Community</span> |
     ...
</div>

并使用变量:-

ng-repeat="site in list.links | filter:myFilter |orderBy:order"

可能还有一种:-

 <span ng-click=" order='governance'; sort=!sort ">Goverance</span>
....
<div .. ng-repeat="site in list.links | filter:myFilter |orderBy:order:sort"

Plnkr

关于html - 如何使用 AngularJS orderBy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26269352/

相关文章:

node.js - AngularJS 教程步骤_02 的问题

html - 在 Sencha Touch 中更改 Textareafield 中特定单词的颜色

javascript - 在页面上垂直居中 videojs?

javascript - 为什么更改 $scope 变量不会在 Angular js 中使用 ng-show 显示元素

ios - 如何在不增加内存的情况下在IOS上使用html canvas toDataURL?

html - 为什么父 div 不会和它的 child 一起成长

html - 重构手动呈现字段的 Django 表单

html - 对齐复选框旁边的文本

javascript - 带滚动的响应式导航 DIV

javascript - 将对象传递给指令不允许全局变量