Пользовательский фильтр AngularJS для фильтрации типов элементов - PullRequest
0 голосов
/ 09 июля 2019

Я пытаюсь написать фильтр таким образом, чтобы он фильтровал мне типы элементов ... например, в HTML / веб-интерфейсе будут некоторые выпадающие элементы, такие как rich, poor, very poor, когда ...я нажимаю rich, он должен отфильтровать фильтр расширенного типа в ng-repeat

, вот вам мой объект:

$scope.names = [
    {name:'Jani',country:'Norway', type: 'RICH'},
    {name:'Carl',country:'Sweden', type: 'POOR'},
    {name:'Margareth',country:'England', type: 'EXTREM POOR'},
    {name:'Hege',country:'Norway', type: 'RICH'},
    {name:'Joe',country:'Denmark', type: 'VERY POOR'},
    {name:'Gustav',country:'Sweden', type: 'VERY POOR'},
    {name:'Birgit',country:'Denmark', type: 'VERY RICH'},
    {name:'Mary',country:'England', type: 'RICH'},
    {name:'Kai',country:'Norway', type: 'POOR'}
    ];

фильтр, который я создаю:

app.filter('typeFilter', function() {
    return function(x) {

        return #;
    };
});

но я не смог сделать это ... кто-нибудь может мне помочь с этим?

1 Ответ

0 голосов
/ 09 июля 2019

Вы можете использовать встроенный фильтр 'filter':

В вашем html используйте это:

Enter your type here:
<input ng-model="type"/>
<div ng-repeat="item in names | filter: type">
  {{item.name}} - {{item.type}}
</div>

Вы можете больше с этим фильтром, для справки: https://docs.angularjs.org/api/ng/filter/filter

Редактировать # 01

Вы также можете использовать функцию с фильтром:

HTML

<div ng-repeat="item in names | filter: myFilter">
  {{item.name}} - {{item.type}}
</div>

JS

$scope.myFilter = function(item){
  if (item.type === something){
    return item;
  }
}

Таким образом, вы можете фильтровать с несколькими свойствами, и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...