Например, у меня есть этот список повторов:
<ul>
<li class="suggestion-item" ng-repeat="item in suggestionList.items | filter: {id: 2} track by track(item)">{{item.text}}</li>
<ul>
Могу ли я каким-то образом (лучше бы без изменения контроллера, потому что это директива), проверьте: если результат фильтра не пуст, тогда отобразите целую ul
, если нет, затем скройте ul
. Я имею в виду что-то вроде:
<ul ng-if="(item in suggestionList.items | filter: {id: 2}).length > 0">
<li class="suggestion-item" ng-repeat="item in suggestionList.items | filter: {id: 2} track by track(item)">{{item.text}}</li>
<ul>
Вы можете присвоить результат фильтра переменной
<ul ng-show="filterResult && filterResult.length">
<li class="suggestion-item" ng-repeat="item in filterResult = (suggestionList.items | filter: {id: 2}) track by track(item)">{{item.text}}</li>
<ul>
используя $ parent, вы можете достичь этого
<ul ng-show="suggestionListItem.length" >
<li class="suggestion-item" ng-repeat="item in ($parent.suggestionListItem = (suggestionList.items | filter: {id: 2} track by track(item)))">{{item.text}}</li>
<ul>