我有很长的用户输入列表,并希望将这些输入存储在一个对象中,而不是用HTML拼写出来。我想将这些值绑定到另一个存储用户/客户数据的对象。由于其简单性和功能性,最好使用ngModel。
任何人都知道如何实现这一目标?
以下示例(不工作)。
[Required]
答案 0 :(得分:12)
不支持。 ngModel
只能绑定到组件的属性。我也没有看到通过模板中的字符串文字引用组件属性的方法,没有辅助方法:
这可能对您有用:
<div *ngFor="#input of inputList">
{{ input.label }}
<input type="text"
[ngModel]="getProp(input.bindTo)"
(ngModelChange)="setProp(input.bindTo, $event)">
</div>
inputList = [
{
label: "Enter your name",
bindTo: "name"
},
{
label: "Enter your email",
bindTo: "email"
}
];
getProp(prop) {
return this[prop];
}
setProp(prop, value) {
this[prop] = value;
}
<击> 撞击>
<击> <div *ngFor="#input of inputList; #i = index">
{{ input.label }} <input type="text" [(ngModel)]="inputList[i]">
</div>
击> <击> 撞击>
提示 for =&gt; RC.0 #
应替换为let