@8realdima8

Как сделать, чтобы элемент появлялся только на том блоке на котором был клик?

Как сделать, чтобы элемент появлялся только на том блоке на котором был клик? В моем примере когда нажимаешь на show hide list, список появляется на всех элементах. Как переделать код, чтобы список появлялся только в одном блоке?

https://plnkr.co/edit/8rr6MunVARNXJo4tEJno?p=preview
  • Вопрос задан
  • 151 просмотр
Решения вопроса 1
0xD34F
@0xD34F
Очевидно же - у каждого item'а должно быть собственное свойство, отвечающее за отображение элемента:

$scope.items = [ 1, 2, 3, 4, 5, 6, 7, 8 ].map(n => ({
  value: n,
  show: false,
}));

<li ng-repeat="item in items">
  <a ng-click="item.show = !item.show">toggle</a>
  <div ng-show="item.show">
    hello, world!!
  </div>
  {{ item.value }}
</li>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы