Angular 2 - ngModel中的动态变量

raf*_*b21 11 angular

如何在ngModel中使用动态变量?

我试图使用下面的代码,但出现以下错误:

<div *ngFor="let num of ['1','2','3']; let i=index">
    <input id="qtd{{num}}" [(ngModel)]="qtd{{num}}" type="text"/>
</div>
Run Code Online (Sandbox Code Playgroud)

埃罗

Unhandled Promise rejection: Template parse errors: Parser Error: Got interpolation ({{}})

Ash*_*hah 27

在组件中定义数组并继续推入它.

export class AppComponent {
    qtd:any[] = {};
}
Run Code Online (Sandbox Code Playgroud)

然后,更新您的模板,如

<div *ngFor="let num of ['1','2','3']; let i=index">
    <input id="qtd{{num}}" [(ngModel)]="qtd[num]" type="text"/>
</div>

{{ qtd | json}}
Run Code Online (Sandbox Code Playgroud)

在这里,所有动态模型都将在qtd数组中

Plunker

希望有所帮助!

  • 当我使用`{}`时,我遇到了错误.所以我使用`qtd:any [] = [];` (4认同)

yur*_*zui 12

假设您有以下组件

export class AppComponent {
  qtd1 = 'qtd1';
  qtd2 = 'qtd2';
  qtd3 = 'qtd3';
}
Run Code Online (Sandbox Code Playgroud)

然后您的模板可能如下所示:

<div *ngFor="let num of ['1','2','3']; let i=index">
  <input id="qtd{{num}}" [(ngModel)]="this['qtd' + num]" type="text"/>
</div>
Run Code Online (Sandbox Code Playgroud)

Plunker示例