Динамическое значение в filterBy внутри двух Ng-repeat Angularjs

#javascript #angularjs #angular-filters

#javascript #angularjs #угловые фильтры

Вопрос:

Я хотел бы отфильтровать второе ng-repeat по динамическому значению, которое исходит из первого ng-repeat . Мой код:

 <div ng-repeat="all in all | unique: 'Category'">
   <p>{{all.Category}}<p>
      <div class="list" ng-repeat="tabs in tabs | filterBy: ['Category']:  '{{all.Category}}'">
 

Я попробовал приведенный выше код, но filterBy второй ng-repeat не работает. У вас есть какие-либо предложения? Спасибо.

Комментарии:

1. не могли бы вы, пожалуйста, создать демонстрацию вашего кода?

Ответ №1:

Я не совсем понимаю, каков параметр вашего второго фильтра, но если я не ошибаюсь, вы должны попробовать что-то вроде этого:

 <div ng-repeat="all in all | unique: 'Category'">
  <p>{{all.Category}}<p>
    <div class="list" ng-repeat="tabs in tabs | filter: all.category">
 

Что ж, если я ошибаюсь, пожалуйста, скажите мне, почему, и я отредактирую свой ответ, если смогу, удалите, если я не знаю, как решить вашу проблему.
Это должно сработать, если all.category является строкой (и я полагаю, что это строка, потому что я не знаю, что находится внутри вашего объекта)

(РЕДАКТИРОВАТЬ: были допущены ошибки … да, вам нужно выполнить второй ng-repeat внутри первого.)

Ответ №2:

вы должны добавить div внутри div .. для вложенного ng-repeat .. Смотрите демонстрацию здесь

HTML

 <div ng-app ng-controller="myCtrl">

    <input type="text" ng-model="textSearch" placeholder='name Search'>
    <div ng-repeat="all in userList | filter:textSearch" class="parent">
    {{all.name}}
      <div ng-repeat="child in all.child" class="child">
      {{child.value}}
      </div>
    </div>
</div>
 

Контроллер

 function myCtrl($scope) {

    $scope.userList=[{
    'name':'Anil',
    'address':'Mumbai',
    'id':1,
    'child':[{
            "id": "0",
            "unit": "10",
            "value": "21000",
            "others":"N"
        },{
            "id": "0",
            "unit": "10",
            "value": "12000",
            "others":"N"
        },{
            "id": "0",
            "unit": "10",
            "value": "22000",
            "others":"N"
        }]
    },{
    'name':'Sunil',
    'address':'Delhi',
    'id':1,
    'child':[{
            "id": "0",
            "unit": "10",
            "value": "21000",
            "others":"N"
        },{
            "id": "0",
            "unit": "10",
            "value": "12000",
            "others":"N"
        },{
            "id": "0",
            "unit": "10",
            "value": "22000",
            "others":"N"
        }]
    },{
    'name':'Manil',
    'address':'Varansasi',
    'id':1,
    'child':[{
            "id": "0",
            "unit": "10",
            "value": "21000",
            "others":"N"
        },{
            "id": "0",
            "unit": "10",
            "value": "12000",
            "others":"N"
        },{
            "id": "0",
            "unit": "10",
            "value": "22000",
            "others":"N"
        }]
    }]
}
 

Комментарии:

1. вы не ответили на вопрос, вопрос в том, как отфильтровать отдельный массив объектов, которого нет в родительском объекте, например, вкладки тоже содержат категорию внутри объекта