Angular: работа с элементами объявленными в шаблоне
В Angular можно объявить переменную в шаблоне:
<div #squareClick class="__square" [style.top.px]="top" [style.left.px]="left">
</div>
В виде #squareClick
.
А потом можно получить на неё ссылку в коде элемента:
@ViewChild('squareClick') squareClick: ElementRef;
И использовать, например для создания потока событий:
const square = this.squareClick.nativeElement;
const click$ = Observable.fromEvent(square, 'click');
click$.subscribe(() => {
console.log('click');
});