#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. вы не ответили на вопрос, вопрос в том, как отфильтровать отдельный массив объектов, которого нет в родительском объекте, например, вкладки тоже содержат категорию внутри объекта