Вот список выбора, который создается динамически. У меня есть 4 элемента в Dbarray
, поэтому он создает 4 раскрывающихся списка. Он работает нормально, но когда я меняю одно раскрывающееся меню, остальные автоматически меняются из-за двусторонней привязки.
Как я могу предотвратить их изменение? Как мне динамически отделить ngmodel
?
<div *ngFor = "let abc in Dbarray; let i=index">
<select name = "srcColumns{{i}}" [(ngModel)] = "dbserverService.sdb.sval" #{{i}} = "ngModel">
<option value = "0" selected>Select Field</option>
<option *ngFor = "let tblC of tblColumn" value = {{tblC.Column_Name}}>{{tblC.Column_Name}}</option>
</select>
</div>
Проблема в том, что вы жестко запрограммировали ngModel
для каждого из них на одно и то же значение (dbserverService.sdb.sval
). Вам нужно будет создать структуру с несколькими значениями, по одному для каждого раскрывающегося списка.
Я понял вашу точку зрения @DanielWStrimpel. Но как я могу этого добиться?
Вам нужно будет предоставить более подробную информацию о том, как выглядит dbserverService.sdb
и как он настроен. По сути, вместо того, чтобы свойство sval
для этого объекта было единственным значением, оно должно быть массивом размером с ваше свойство Dbarray
в вашем компоненте. Тогда ваш шаблон изменится на [(ngModel)] = "dbserverService.sdb.sval[i]"
.
@DanielWStrimpel Я согласен, но как я могу установить ту же переменную в файле ts, потому что если я объявляю sbd.sval []: any в файле ts, это дает мне ошибку.
Вам нужно будет предоставить подробную информацию о вашей собственности sdb
на вашем dbserverService
.
Вы пробовали использовать
Reactive Forms
вместоTemplate Forms
? Предлагаю изучить это.