AngularJS - 通过变量过滤Json

时间:2015-06-05 09:11:56

标签: json angularjs filter

我正在使用动态路由处理单页应用。我从URL中获取了我的bookid,如下所示

myApp.controller('BookCtrl', function($scope,$routeParams) {
    $scope.mybookid=$routeParams.bookurl;
});

这是我的数据

var bookdata  = {
"records": [
  {
    "seriesid": "SpectrumSeries",
    "name": "White Curse",
    "bookid": "WhiteCurse",
    "image": "book1",
  }

...
]};

在上面的控制器中,如何过滤出一个bookid等于$ scope.mybookid的对象?我知道我可以通过ng-repeat和filter来做到这一点但是有更有效的方法吗?

1 个答案:

答案 0 :(得分:2)

在javascript中使用过滤器:

var filteredBooks = bookdata.records.filter(function(book){
    return book.bookid == $scope.mybookid; 
});

filteredBooks数组将包含您bookId的所有图书。