Я использую ng-repeat для перебора объектов для отображения в Угловом, и каждый из этих объектов содержит элемент выбора, содержащий свойство объекта.Фильтр динамического выбора элементов в Угловом
Я хочу отфильтровать параметры, основанные на выбранном значении для каждого из других свойств объекта (это сложнее объяснить, чем я думал), но проблема в том, что это объекты Breeze и если я использую традиционный метод Угловое обеспечивает стеки исключение переполнения из-за цикличности сущности Breeze.
Я нашел хороший пример Уорда о том, как создать более статическую функцию для обработки фильтрации, но я стараюсь, чтобы сделать его более динамичным и борюсь -
В представлении у меня есть список доступные бойцы, которые должны быть отфильтрованы по весу класса, состоящие Поединки, так что для каждого боя в боях на нг повторов в есть селектор класса веса, и два истребитель селекторы -
пОПЫТКА 1 -
<select
ng-model="fight.firstFighter"
ng-options="f.fullName for f in fighters | filter: fighterFilter">
</select>
<select
ng-model="fight.weightClass"
ng-options="w.fullName for w in weightClasses">
</select>
$scope.fighterFilter = function (fighter) {
var fight = ???;
return fight.weightClass ?
-1 != fighter.weightClass === fight.weightClass :
true;
};
Я попытался отправить ничего, как показано на рисунке, но проблема в том, что он посылает только значение истребителя, когда он итерации через каждый доступный боец, поэтому я не могу получить значение боя. WeightClass.
Любая идея о том, как получить контекст борьбы и бойца, который я повторяю? Или лучший подход к фильтрации таким образом?
Истребители Структура
истребитель
- Id
- Имя
- WeightClassId
- весовой категории (свойство навигации)
Fight
- FirstFighter
- SecondFighter
- WeightClassId
- весовой категории (свойство навигации)
- весовой категории
- Id
- Вес
- Описание
- ПолноеИмя
Редактировать
я смог отфильтровать результаты с одного боя без проблем, проблема заключается в том, чтобы динамически справляйтесь с этим в каждой битве в том же представлении в соответствии с директивой ng-repeat. Я не могу получить контекст «битвы» и «бойца», чтобы сравнить, соответствует ли значение «весового класса» обоих объектов.
Вы можете разместить структуру данных 'fighters'? – zsong
Это сейчас ... –