更改循环内的ngModel绑定

时间:2016-05-04 14:49:33

标签: typescript angular

很抱歉,但我不知道如何正确描述这个问题。

我正在尝试输出一个表单,它遍历一个对象键数组,并根据对象有多少属性显示输入字段。

例如:

<form [ngFormModel]="dataForm" (ngSubmit)="save()">
    <fieldset>
        <legend>Data</legend>
        <div class="form-group" *ngFor="#key of dataKeys"
            <label>{{ key }}</label>
            <input 
                [(ngModel)]="data." + key
                class="form-control"
                ngControl="key"
                #key="ngForm">
        </div>
    </fieldset>
</form>

我希望它能够评估:

<form [ngFormModel]="dataForm" (ngSubmit)="save()">
    <fieldset>
        <legend>Data</legend>
        <div class="form-group">
            <label>id</label>
            <input 
                [(ngModel)]="data.id"
                class="form-control"
                ngControl="id"
                #id="ngForm">
        </div>
        <div class="form-group">
            <label>score</label>
            <input 
                [(ngModel)]="data.score"
                class="form-control"
                ngControl="score"
                #score="ngForm">
        </div>
        ...
    </fieldset>
</form>

我知道它不能像我现在在模板中那样工作,但我无法弄清楚如何让它正常工作。 我想也许一个自定义方向可能是一个解决方案,但即使在搜索了所有谷歌搜索结果后,我也能找到它,但我无法让它发挥作用。

提前多多感谢!

1 个答案:

答案 0 :(得分:1)

这应该做你想要的:

[(ngModel)]="data[key]"