У меня есть требование, когда я показываю серию текстовых полей с начальными пустыми данными. Поэтому для того же я создал один массив с 3 пустым [{},{},{}]
. Тогда я сделал петлю над каждым элементом и отображается на просмотр с помощью *ngFor
* ngFor с `{}` пустые объекты ссылаются на одиночную ссылку, когда коллекция определена на шаблоне
<div *ngFor="let item of [{},{},{}]">
{{item.Id}}
<input type="text" [(ngModel)]="item.Id">
</div>
Над делают мои все текстовые поля правильно, но когда я пытаюсь изменить любой из входного элемента, все текстовые поля относится к той же ссылке.
Я хочу изменить конкретный объект item
объект Id
объект. Я знаю, что могу перемещать объявление массива внутри моего класса компонентов (хотя это решает мою проблему), мне любопытно узнать, что случилось с объявлением массива в шаблоне?
Это чувствует, как XY проблема для меня. Вы уже упоминали, что можете решить это, переместив массив в свой класс, и на самом деле вам нужно будет делать это * в любом случае *, чтобы сделать что-либо * полезным * с этими полями ввода, поэтому неясно, почему вы пытаются решить это вообще. – Claies
@Claies Я знаю, что это можно решить другим способом, я должен удалить этот вопрос тогда ..? Его смущает меня, почему он работает с другим способом, поэтому я подумал, что лучше задать вопрос ... –
Возможно, он все еще может открыть некоторую интересную информацию о внутренней работе Angular или даже об ошибке. –