Mam przypadek, w którym mam zagnieżdżone pętle, w których element potomny jest skonstruowany przez funkcję filtru, która jako argument przyjmuje rodzica. Mam też inny filtr, który po prostu dokonuje porównania tekstu. Oto przykładAngularJS - ukryj element nadrzędny, jeśli pętla podrzędna jest pusta (filtrowana)
<div ng-repeat="group in groups">
{{group.name}}
<div ng-repeat="material in materials | filter:filterByGroup(group) | filter:search ">
{{material.name}}
</div>
</div>
Teraz moim problemem jest to, że kiedy filter:search
jest stosowana i odfiltrowuje wszystkie wyniki w określonej grupie, chciałbym ukryć grupę (i nie pozostawiać pustej group.name
wiszące bez elementów podrzędnych).
Nie mam materiałów w grupie jako takiej, więc nie mam tych informacji w macierzystym zakresie powtórzeń rg. Pytanie brzmi, czy istnieje sposób mogę uzyskać dostęp do zagnieżdżonego NG-repeat i zobaczyć swój licznik od rodzica i ukryć rodzica, jeżeli liczba 0.
UPDATE
Oto skrzypce że lepiej wyjaśnia sytuację: fiddle
Głównym problemem jest to, że nie chcę kojarzyć moich materiałów z grupami. Mogłabym to zrobić, gdyby nic innego nie działało, ale brzmi to jak przeciążenie (ponieważ wtedy potrzebowałbym zasadniczo filtrować wyniki dwukrotnie), gdybym mógł to zrobić po prostu sprawdzając zagnieżdżoną pętlę.
Dzięki
Czy masz przykład z $ scope, filtrem i wszystkim? Byłoby mi łatwiej pomóc, gdybyśmy mieli cały obraz :) – jinxen