如何使用AngularJs过滤JSON数据

时间:2014-01-22 03:22:53

标签: javascript json angularjs

我有json数据,我希望它通过类型等过滤器显示。 How to filter JSON-Data with AngularJs?的最后一个问题对我不起作用。

myapp.js

var myApp = angular.module('myApp', []);

myApp.controller('myApp', function($scope) { 

$scope.isoffice = function(apps) {
    return apps[0].genre === "office";
};

$scope.apps = [
    {
  "id": "stardict",
  "genre": "aksesoris", 
  "name": "Stardict"
},
{
  "id": "libreoffice",
  "genre": "office", 
  "name": "LibreOffice"
}];
}

我的index.html

<div ng-repeat="app in apps | filter:isoffice">
  {{apps[0].name}}
</div>
我错过了一些想法吗? 谢谢..

1 个答案:

答案 0 :(得分:8)

您不需要比较器功能来进行过滤。你可以用这个:

<div ng-repeat="app in apps | filter:{genre:'office'}">
  {{app.name}}
</div>

请注意,我使用app.name来显示ngRepeat生成的当前应用。 apps[0].name将重复显示第一个条目(如果多个条目与您的过滤条件匹配)。

demo fiddle

如果你想使用比较器功能,这将有效(每次发送一个对象,所以你不想把它作为一个数组引用):

$scope.isoffice = function(apps) {
   return apps.genre === "office";
};

comparator demo