Angular 数据绑定在角度模式下不起作用
问题:删除第一行并添加第二行时,第一行的值将替换为第二行的值 我为我所面临的问题创造了一个机会 复制步骤:Angular 数据绑定在角度模式下不起作用,angular,angular2-template,angular2-forms,Angular,Angular2 Template,Angular2 Forms,问题:删除第一行并添加第二行时,第一行的值将替换为第二行的值 我为我所面临的问题创造了一个机会 复制步骤: 单击“选择一个”下拉列表并选择“屏幕1”选项 再次单击“选择一个”下拉列表并选择“屏幕2”选项 现在删除第一行(屏幕1) 再次单击“选择一个”下拉列表并选择“屏幕3”选项 第一行的值将替换为第二行的值 我不知道我的代码中有什么错误导致了这个问题。您的主要问题是您使用了ngModel来选择元素 所以,当您在此时从select元素中选择项时,selectedIds[rowIndex]项中的值会
我不知道我的代码中有什么错误导致了这个问题。您的主要问题是您使用了ngModel来选择元素 所以,当您在此时从select元素中选择项时,selectedIds[rowIndex]项中的值会发生更改 我已经在第一部分应用了小的代码重构,如下所示,这将对您有所帮助
<div *ngFor="let id of selectedIds; let rowIndex = index">
<select name="id_{{rowIndex}}" class="form-control" required >
<option *ngFor="let screen of screens"
[selected]="screen.screenId==id"
[ngValue]="screen.screenId">{{screen.screenName}}
</option>
</select>
<a class="pointer" (click)="removeScreen(rowIndex)">Delete</a>
</div>
{{screen.screenName}
删除
已经很晚了,但问题是Metronic模板中存在以下代码:
changeDetection:ChangeDetectionStrategy.OnPush,
您应该对这行代码进行注释以启用数据绑定。如果显示索引和数组,您将更好地了解正在发生的情况:添加更多选项,如1,2,3,4,1,2,3,4,1,2,3,4,然后更改生成的值2或其他值。他们相互影响。也许可以采用一种方法,即不修改列表本身,而是生成新列表。。在我看来会更容易。@ibenjelloun是的,你是对的。。。我也这样做了。删除和添加后数组是正确的,但为什么值会更改?问题出在哪里?@Stefan Rein,但是当前代码中的问题是什么?它在UI上工作,但是绑定不工作,因为您已经删除了ngModel…现在问题是根据您的建议,在这个解决方案中绑定将如何工作?为此,您需要为绑定创建单独的属性,就像您需要创建自定义对象列表就地编号数组(selectedIds)一样。你想让我创建一个样本吗?你为我解决这个问题做了很多。如果您能为同样的产品制作一个样品,那将非常感谢您。很抱歉给您带来不便:)