AngularJS фильтрует список меню с дочерним элементом

#angularjs #filter #menu

#angularjs #Фильтр #меню

Вопрос:

Возможно ли использовать фильтр angularjs по умолчанию для фильтрации бокового меню с дочерними элементами

Скажем, например [Filter input]

  • Toyota
    • Венчик
    • Camry
    • Avalon
    • Пример

  • Mercedez
    • c300
    • E300
    • CLS
    • MX …

Я хочу иметь возможность фильтровать меню и подменю, отображать все, что не соответствует фильтру, независимо от задачи с позицией, которую я вызываю, ng-include для шаблона для каждого меню / подменю (ссылка)

Ответ №1:

Да, вы можете. Вам необходимо управлять пунктами меню с помощью массива javascript

      <input type="text" class="form-control" placeholder="Search..." ng-model="filterStr">
    
     <ul class="nav-sub">
        <li class="nav-item" ng-repeat="item in ['Corolla', 'Camry'] 
                | filter: filterStr"><a href="#" class="nav-link">
                {{item}}</a>
        </li>
     </ul>  
  

возможно, вы захотите поместить пункты меню внутри своего контроллера и определить более выразительный объект с помощью hrefs