Я не знаю, каково ваше требование, чтобы сделать его динамичным, но ... TemplateRef не для этого.
TemplateRef => это блокхотя в цикле оно имеет то же имяВы можете использовать декоратор ViewChildren
, который возвращает все элементы ItemType
, а оставшаяся магия Angular
делает это за вас.
component.ts
<div *ngFor="let i of [0, 1, 2, 3]" #items>
<button (click)="onClick(items, i)">Click on item {{ i }}</button>
</div>
.html
@ViewChildren('items') items: ItemType<ElementRef>;
onClick(item, i) {
console.log('item clicked : ', item);
console.log('index of item : ', i);
console.log('all items : ', this.items)
}
Мне неясно, что вы хотите, но я только что показал путь с click
, пожалуйста, примените его для вашего input
, для более подробной информации, пожалуйста, проверьте: https://stackoverflow.com/a/44441164/5835354