найти все li, которые имеют ul / uls под классом в angularjs без jquery - PullRequest
0 голосов
/ 12 октября 2018

По сути, я хочу получить все li, в которых есть ul, а затем добавить к ним значок.Например:

<ul class="parent">
    <li>child1</li>
    <ul>
        <li>grandchild1</li>
    </ul>
    <li>child2</li>
</ul>

В приведенном выше сценарии я хочу изменить цвет li-child1, а не li-child2

Я не хочу использовать jquery.Могу ли я добиться этого только с angularjs?

1 Ответ

0 голосов
/ 12 октября 2018

Если вы используете значение из вашей области, это должно быть довольно просто.Если в вашем контроллере есть следующее:

ctrl.parent = {
    name: 'toto',
    childs: [{
      name: 'tata',
      childs: [{
        name: 'titi'
      }]
    }, {
      name: 'tutu'
    }]
  }

Тогда вы можете зациклить его в html с помощью ng-repeat:

<li class="child" ng-repeat="child in $ctrl.parent.childs">
  <span ng-bind="child.name"></span>
<li>

Вы также можете добавить класс в зависимости от того, чтоу этого потомка тоже есть потомки:

ng-class="{'withChilds': child.childs && child.childs.length >0}"

Вот рабочая скрипка

Лучший способ - создать компонент, который принимает дочерний элемент в цикле и выполняет циклыповерх него

Смотрите то же самое с компонентом: скрипка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...