我已经知道我可以使用this method创建动态ngModel变量。这很有效,因为我试图基于列表生成一堆文本输入,然后在它们上面放置一个ngModel变量。我遇到的问题是我想为文本框分配一个初始值,所以它显示这个值(以及作为ngModel的值)然后显然用户可以在框中键入,更改值的ngModel变量。
虽然我无法找到办法。如果我为输入设置了一个值,它就会被清除。它还需要使用ngModel而不是2路数据绑定({{}}方法),因为我需要能够在以后引用该变量。
以下是我试图让它发挥作用。您可以假设“items”是字符串值的列表。
<ul>
<li *ngFor = "let item of items">
<input type = "text" [(ngModel)] = "input[item]" value = '{{item}}'>
</li>
</ul>
我对Angular和Web开发人员也很新,所以我可能会错过一些非常明显的事情,如果是这种情况我会道歉。无论我真的感谢任何帮助。
答案 0 :(得分:1)
您应该在控制器中执行此操作。
@Component({
// component configuration
})
class MyController implements OnInit {
public input: Object = {
// your data
};
public items: Array<Object> = [
// your list of items
];
ngOnInit() {
this.items.forEach(item => {
input[item] = item;
});
}
}