如何在AngularJS中按对象中的特定属性过滤?

达拉马

我在AngularJS中有对象:

 genres = [{
    label: "Trance",
    genre: "8",
    position: 8
}, {
    label: "House",  
    genre: "2",
    position: 8
}]

如何通过筛选这个数组genreng-click例如ng-click="filterByGenre(2)"

它应该只返回一个元素:

{
    label: "House",  
    genre: "2",
    position: 8
}

这是您尝试实现的简单工作提琴它确实按属性过滤对象genre,您可以Id在文本字段中搜索例如8

看一下filter:{genre:searchGenre}保存有genre要过滤的属性名称和模型输入的过滤器声明searchGenre有关更多信息,请查看filterAngularJS文档


以下示例显示了如何在“视图-小提琴”演示中进行过滤

视图

<div ng-controller="MyCtrl">
    <h1>Filter items</h1>
    <input type="text" ng-model="searchGenre">
    <h2>Genres</h2>
    <div ng-repeat="genre in genres | filter:{genre:searchGenre}">
      {{genre.label}}
    </div>
</div>

AngularJS应用

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

function MyCtrl($scope) {
   $scope.genres = [{
      label: "Trance",
      genre: "8",
      position: 8
  }, {
      label: "House",  
      genre: "2",
      position: 8
  }];
}

以下示例显示了如何在控制器中进行过滤-Fiddle演示

视图

<div ng-controller="MyCtrl">
    <div>Filter items</div>
    <input type="text" ng-model="searchGenre">
    <div>Genres</div>
    <div ng-repeat="genre in filtered">
      {{genre.label}}
    </div>
</div>

AngularJS应用

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

function MyCtrl($scope, filterFilter) {

   $scope.genres = [{
      label: "Trance",
      genre: "8",
      position: 8
  }, {
      label: "House",  
      genre: "2",
      position: 8
  }];

  //init search phrase
  $scope.searchGenre = '';

  //init filtered scope
  $scope.filtered = [];

  /**
   * Watch keyword change
   */
  $scope.$watch('searchGenre', function(term) {
    $scope.filtered = filterFilter($scope.genres, {'genre': term});
  });
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在AngularJS中按对象的属性过滤?

如何在angularJS中按对象属性过滤

如何在VueJS中按对象属性过滤对象数组

如何在Typescript中按属性过滤对象类型的并集?

在AngularJS中按多个特定模型属性进行过滤(OR关系)

如何按对象数组jsonb字段中的特定属性过滤记录

如何在JS中按对象过滤对象数组

如何按 Angular 数组中的属性过滤对象?

如何按对象数组中的所有属性过滤?

如何按特定键过滤javascript中的对象

如何在firebase中按属性过滤数据

如何在Java中按多个属性过滤列表?

如何在 ReactJs 中按属性过滤数量

如何在Django中按日期范围过滤查询对象?

如何在 Django 中按价格范围过滤对象?

按特定属性中的文本过滤

如何根据特定的动态属性过滤反应中的对象数组?

如何在Kendo Grid(AngularJs)中过滤对象数组?

如何在 Angularfire 中按动态对象属性进行过滤

如何在Woocommerce后端中按特定产品属性(在这种情况下为品牌)正确过滤

如何在angularjs中按值分组对象键

如何在链接列表中按属性删除对象?

如何在数组中按属性查询嵌套对象?

如何在猫鼬中按减号的对象属性排序?

按属性过滤功能,该属性是Mapbox中的对象列表

如何实现角度6中的选择下拉列表(按搜索过滤),如何通过对象的名称属性过滤对象

如何在JS中获取对象数组的特定属性?

如何在javascript中以数组的形式返回对象的特定属性

如何在嵌套的 JS 对象中查找特定属性的总和