为动态生成的ngModel Angular(2/4)指定初始值

为动态生成的ngModel Angular(2/4)指定初始值,angular,Angular,我发现我可以使用创建动态模型变量。这非常有效,因为我正在尝试根据列表生成一组文本输入,然后在其上放置一个ngModel变量。我遇到的问题是,我想给文本框指定一个初始值,这样它就会显示这个值(以及ngModel的值),然后用户就可以在框中键入,更改ngModel变量的值 不过,我想不出一个办法。如果我为输入设置一个值,它将被清除。它还需要使用ngModel而不是双向数据绑定({{}}方法)来完成,因为我需要能够稍后引用变量 下面是我试图让它工作。您可以假设“items”是一个字符串值列表 <

我发现我可以使用创建动态模型变量。这非常有效,因为我正在尝试根据列表生成一组文本输入,然后在其上放置一个ngModel变量。我遇到的问题是,我想给文本框指定一个初始值,这样它就会显示这个值(以及ngModel的值),然后用户就可以在框中键入,更改ngModel变量的值

不过,我想不出一个办法。如果我为输入设置一个值,它将被清除。它还需要使用ngModel而不是双向数据绑定({{}}方法)来完成,因为我需要能够稍后引用变量

下面是我试图让它工作。您可以假设“items”是一个字符串值列表

<ul>
 <li *ngFor = "let item of items">
  <input type = "text" [(ngModel)] = "input[item]" value = '{{item}}'>
 </li>
</ul> 

一般来说,我对Angular和web开发也很陌生,所以我可能会错过一些非常明显的东西,如果是这样的话,我道歉。不管怎样,我真的很感激任何帮助

您应该在控制器中执行此操作

@组件({
//组件配置
})
类MyController实现OnInit{
公共输入:对象={
//你的数据
};
公共项:数组=[
//你的物品清单
];
恩戈尼尼特(){
this.items.forEach(item=>{
输入[项目]=项目;
});
}
}

为此干杯,这很有意义,我也考虑过用类似的方式来做,我只是好奇是否可以从模板中实现。这应该是一个很好的解决方案,尽管如此,谢谢!使用Angular 2+,他们试图“强制”开发人员将逻辑从模板移动到控制器,因此,我猜,删除了
ngInit
指令。哦,这很有趣,我不知道这是他们想要的方向。再次感谢你的帮助,伙计!