AngularJS: визуализировать дочерний li, когда выбран родительский li

0

У меня есть требование, когда мне нужно отображать только дочерний элемент выбранного li. Ex. На изображении, показанном ниже, проверяется EIS_ASCP_FORECAST_SETS_V, поэтому отображается дочерний объект FND_USER и MRP_FORECAST_DESIGNATORS_V, а остальные элементы скрыты. Аналогично, когда выбран FND_USER, он должен быть показан. Дерево создается с помощью jquery и является динамическим. Я использую AngularJS для остальной части страницы.

Изображение 174551

Я попытался использовать $(event.target).parent().find('li') но не смог извлечь из него дочерний элемент.

Код для формирования дерева

<li class="treeView">
<a ng-click="getViewColumns('EIS_ASCP_FORECAST_SETS_V', '724')" href=""><b>EIS_ASCP_FORECAST_SETS_V</b></a>&nbsp;<input type="checkbox" ng-checked="true" ng-click="useInSelect('EIS_ASCP_FORECAST_SETS_V')">
    <ul>
        <li><a ng-click="getViewColumns('FND_USER', '724')" href="">FND_USER</a>&nbsp;<input type="checkbox" ng-click="useInSelect('FND_USER')">
        <li><a ng-click="getViewColumns('MRP_FORECAST_DESIGNATORS_V', '724')" href="">MRP_FORECAST_DESIGNATORS_V</a>&nbsp;<input type="checkbox" ng-click="useInSelect('MRP_FORECAST_DESIGNATORS_V')"></a>
    </ul>
  • 0
    Покажите некоторые усилия, что вы уже пробовали.
  • 0
    @SureshKamrushi Я не понял, как начать.
Показать ещё 8 комментариев

1 ответ

0
Лучший ответ

вы можете добавить ng-if="showHideComp(parentId)" дочернему элементу. и внутри функции showHideComp() проверяет свойство isSelected parentId и соответственно возвращает true/false.

пример:

<input type="checkbox" ng-model="checked" ng-init="checked=true" /></label><br/>

Показывать при проверке:

<span ng-if="checked" class="animate-if">
   This is removed when the checkbox is unchecked.
</span>
  • 0
    использование функции view не подходит для angular, потому что она вызывается в каждом цикле дайджеста, почему бы просто не проверить свойство isSelected для parentId без функции?
  • 0
    да, это тоже можно сделать.
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню