Задать вопрос
byte916
@byte916

Как лучше всего биндить события на элементы массивов при выводе через ngFor в Angular 2+?

Сейчас биндинг производится так
<div *ngFor="let item of array">
   <div (click)="someFunc(item)">{{item.name}}</div>
</div>

или так
<div *ngFor="let item of array"  (click)="someFunc(item)">
   <div>{{item.name}}</div>
</div>


Проблема в том, что если у нас массив длинный, или если это массивы массивов, то получается довольно много слушателей (в моём случае несколько тысяч).
Можно ли как-нибудь оптимизировать это, повесив один клик на родителя (как это делается на чистом js)?
  • Вопрос задан
  • 111 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Javascript.ru
    Курс по Angular
    6 недель
    Далее
  • Skillfactory
    Профессия Frontend-разработчик PRO
    14 месяцев
    Далее
  • Компьютерная академия «TOP»
    Frontend разработка
    12 месяцев
    Далее
Решения вопроса 1
Xuxicheta
@Xuxicheta Куратор тега Angular
инженер
Так ничего не мешает точно так же повесить (click)="onClick($event)" на родителя. В event.target будет нижний элемент.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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