使用Angular 2在ngFor中的ngModel中设置动态属性
发布时间:2020-12-17 17:42:24 所属栏目:安全 来源:网络整理
导读:我有一个组件: “selectedData”:任何 “fields”:一组字段.字段是具有以下属性的对象:标签和类型.这些字段描述对象“selectedData” 示例: selectedData = { Label:"test",IsUsed:false}fields = [{name:'label',type:'string'},{name:'IsUsed,type:'b
我有一个组件:
>“selectedData”:任何 示例: selectedData = { Label:"test",IsUsed:false} fields = [{name:'label',type:'string'},{name:'IsUsed,type:'boolean'} 我正在尝试生成一个表单来编辑’selectedData’中的数据 以下是我观点的一部分: <div class="ui-grid-row" *ngFor="let myField of fields" > <div class="ui-grid-col-4"><label for="{{myField.name}}">{{myField.name}}</label></div> <div class="ui-grid-col-8"><input pInputText id="{{myField.name}}" [(ngModel)]="this['selectedData.' + myField.name]" /></div> </div> 问题出在这条线上 [(ngModel)]="this['selectedData.' + myField.name]" 它不能按我的意愿工作. 如您所见,Angular2创建一个名为“selectedData.Label”的对象,而不是使用selectedData现有对象. 有解决方案吗?或者我应该采用不同的方式吗? 谢谢 解决方法
答案很简单:
[(ngModel)]="selectedData[myField.name]" 如果field.Name的值为’label’,则前面的代码等效为: [(ngModel)]="selectedData.label" 我不知道'[]’可以用这种方式. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |