我有多个使用 *ngFor, [(ngModel)] 动态创建的模板小部件。现在,这些模板中的每一个都包含一个选择选项列表。
问题是:
如果我从 Template#1 中选择 option#1,其他模板也会得到 option#1。如果我在其他模板中更改选项#2,比如模板#4,所有模板都会获得相同的选项#2。
我试图像这样消除这个问题:
一世)
`*ngFor="let template of templateList, let i = index">
<!-- truncated-->
<select [(ngModel)] = "selectedOption[i]" (change)="myFunc()">
<option *ngFor="let element of elements">{{element}}</option>
</select>`
并且,
ii)[(ngModel)] = "selectedOption[$index]"
但在这两种情况下,我都无法识别 myFunc 函数中单个模板的“selectedOption”。
`myFunc(){console.log(this.selectedOption);}`
dashboardConfig.component.html ###
这部分要选号。小部件
<div class="edit-dashboard">
<select [(ngModel)] = "widgetCounter" (change)="widgetCountFunc()">
<option *ngFor="let i of ArrayOfNumbersForWidget">{{i}}</option>
<select>
</div>
这部分用于创建小部件
<div class="widget-area" *ngFor="let i of widgetObjList ">
<select [(ngModel)]="selectedOption (change)="selectedOptForThisWidget()">
<option *ngFor="let opt of ListOfOpts" [value]="opt">{{opt}}</option>
</select>
</div>
dashboardConfig.component.ts ###
widgetCountFunc(){
this.ListOfOpts = ArrayMaker(this.widgetCounter);
}
ArrayMaker() 这部分创建一个选定数字的数组,不详述
所以问题发生在 [(ngModel)] = "selectedOption"
.
1)如何为每个小部件选择单独的选项?例如对于小部件 #1 -> 选项 #2;小部件 #2 -> 选项 #5 等。
"selectedOption"
2)如何通过假设我们有一个小部件的json文件和相应的选项来显示每个小部件的预选
选项?