Допустим, у меня есть этот шаблон:
<div *ngFor="let div of divs">
<select #ref (change)="print(ref)">
<option *ngFor = "let opt of options">{{opt}}</option>
</select>
</div>
и этот компонент:
export class AppComponent {
divs = ["1", "2", "3"];
options = ["opt1", "opt2", "opt3"];
print(value){
console.log(value.value);
};
}
Теперь я могу получать значение каждого отдельного элемента select всякий раз, когда выбирается новая опция. Однако с помощью этого метода я создаю template reference variable
для выбора (#ref
) в цикле *ngFor
, что означает, что у меня будет 3 выбора с той же ссылкой в конце цикла. На сайте angular.io сказано следующее:
«Не определяйте одно и то же имя переменной более одного раза в одном шаблоне. Значение времени выполнения будет непредсказуемым».
Поэтому я считаю, что использовать этот метод - плохая идея. У меня вопрос, есть ли другой способ сделать это?