在Angular JS中过滤数据的惯用方法

时间:2014-07-06 22:22:42

标签: javascript angularjs

我有一些数据集合,我使用ng-repeat指令显示:

myApp.controller("MyCtrl", function ($scope) {
    $scope.products = [...]; // data from server
});

<tr ng-repeat="product in products">
  <td>{{product.name}}</td>
  <td>{{product.price}}</td>
</tr>

我还有一些过滤按钮:"Newest""Popular"等。

我希望在点击此按钮时过滤我的数据。

目前我认为我可以为控制器中的每个按钮定义单独的事件处理程序,并以编程方式过滤products变量:

myApp.controller("MyCtrl", function ($scope) {
    $scope.products = [...]; // data from server

    $scope.showNewest = function() {
        // here modify the  $scope.products  varialbe so changes will be reflected in UI
    }
});

但我认为这是一个丑陋的解决方案。我觉得更好的方法是定义自定义过滤器,但现在我还没有任何想法新过滤器的外观。那么什么是完成任务的惯用/更好的方法呢?

0 个答案:

没有答案