单击时的角度过滤器和顺序元素 [英] Angular filter and order elements on click
问题描述
我正在尝试过滤项目列表(从 JSON 中抓取)onclick.我从服务器中提取了一次数据,然后想使用 Angular 过滤/排序元素.
这是我的 plunker:http://plnkr.co/edit/glSz1qytmdZ9BQfGbmVo?p=preview
- 标签 -- 我如何在点击时过滤/排序项目?最近"将按日期排序,热门"将按观看次数排序.
- 类别 -- 我正在使用 ng-click 来获取类别值,但不确定如何动态更新过滤器(使用传递给 onclick 的值).
谢谢
我会将整个功能包装在父控制器中,并在该父控制器中使用选项卡更改和类别选择功能(子作用域将继承这一点),以便可以为过滤器共享范围变量并按以下方式排序:
关于控制器继承的阅读材料:http://docs.angularjs.org/guide/dev_guide.mvc.understanding_controller
演示:http://plnkr.co/edit/rh3wGYhuoHSHJEa4PoQi?p=preview
HTML:
<div class="categories" ng-controller="CategoryController"><ul ng-repeat="类别中的类别"><li ng-click="sendCategory(category)">{{category.name}}</li><div class="tabs" ng-controller="tabsController"><ul><li ng-click="tab(1)">最近的项目</li><li ng-click="tab(2)">热门商品</li>
<div class="容器"><div class="left" ng-controller="ItemController"><div class="itemList"><div class="item" ng-repeat="item in items | filter:search | orderBy:sort"><h3 ng-click="viewDetail(item)">{{item.title}} - {{item.date}}</h3><p>{{item.description}}</p><a ng-click="viewDetail(item)">查看完整的商品详情</a>