如何通过某些属性值过滤Angular中的ng-repeat

时间:2016-04-05 21:58:06

标签: angularjs angularjs-ng-repeat ng-repeat angularjs-filter angular-filters

我正在尝试使用ng-repeat显示一个对象数组,但只显示属性值为

的对象数组

“类别”:“问题”

这是我的观点

<div class="small-6 large-6 columns" ng-repeat="post in posts | filter: { category: Problems }">
  <span><a href="#/posts/{{getSlug(post.title)}}"><img src='img/posts/{{post.img}}.jpg' /></a></span>
  <div class="category"><a href="#">{{post.category}}</a></div>
  <a class="title" href="#/posts/{{getSlug(post.title)}}">{{post.title}}</a>
  <div class="meta"><span class="date">{{post.date | date:'dd MMMM yyyy'}}</span></div>
</div>

如果需要,可以使用控制器

.controller('PostListController', ['$scope', '$http', function($scope, $http){

    $http.get('data/posts.json').success(function(response){
      $scope.posts = response;
      $scope.getSlug = function(text){
          return text.replace(/\W+/g, '-');
        };
    });
}])

知道为什么这不起作用吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

语法错误,在Problems周围添加单引号,如:

<div class="small-6 large-6 columns" ng-repeat="post in posts | filter: { category: 'Problems'}">

Angular默默地将Problems(作为变量)确定为undefined,而不是抛出ReferenceError