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)?
  • Вопрос задан
  • 102 просмотра
Решения вопроса 1
Xuxicheta
@Xuxicheta Куратор тега Angular
инженер
Так ничего не мешает точно так же повесить (click)="onClick($event)" на родителя. В event.target будет нижний элемент.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы