Angular NGM模型中的角度2-动态变量
如何在ngModel中使用动态变量 我试图使用以下代码,但出现以下错误:Angular NGM模型中的角度2-动态变量,angular,Angular,如何在ngModel中使用动态变量 我试图使用以下代码,但出现以下错误: <div *ngFor="let num of ['1','2','3']; let i=index"> <input id="qtd{{num}}" [(ngModel)]="qtd{{num}}" type="text"/> </div> 错误 未处理的承诺拒绝:模板分析错误: 解析器错误:获取插值({})假设您有以下组件 export class AppCompone
<div *ngFor="let num of ['1','2','3']; let i=index">
<input id="qtd{{num}}" [(ngModel)]="qtd{{num}}" type="text"/>
</div>
错误
未处理的承诺拒绝:模板分析错误:
解析器错误:获取插值({})
假设您有以下组件
export class AppComponent {
qtd1 = 'qtd1';
qtd2 = 'qtd2';
qtd3 = 'qtd3';
}
然后,您的模板可能如下所示:
<div *ngFor="let num of ['1','2','3']; let i=index">
<input id="qtd{{num}}" [(ngModel)]="this['qtd' + num]" type="text"/>
</div>
在组件中定义数组并继续推入
export class AppComponent {
qtd:any[] = {};
}
然后,像这样更新模板
<div *ngFor="let num of ['1','2','3']; let i=index">
<input id="qtd{{num}}" [(ngModel)]="qtd[num]" type="text"/>
</div>
{{ qtd | json}}
{{qtd | json}
在此情况下,所有动态模型都将位于qtd阵列中
希望有帮助 在创建动态文本框的情况下,我们主要需要动态ngModel 在您的ts文件中 您的HTML文件(模板)
员工姓名
分支机构
轮班制
定制日期
{{emp.name}
--挑选--
{{branch.BranchName}
--挑选--
{{shifType.ShiftName}
提交
在我的情况下,类似这样的功能很好:
export class AppComponent {
qtd:any[] = {};
}
在html中,我使用了索引而不是值(num):
如果需要与索引匹配的id,您也可以这样做
<div *ngFor="let num of ['1','2','3']; let i=index">
<input
[attr.id]="'qtd'+i"
type="text"/>
</div>
使用一个数组,然后使用qtd[num]
。你能举个例子吗?它工作得很好!非常感谢。几个小时以来我一直在寻找正确的答案!谢谢!:)当我使用{}
时,我遇到了bug。所以我使用了qtd:any[]=[]代码>有没有可能在这上面找到typesafety?我在这里找到了我要找的东西。类似于nameof(“myProperty”)
。我可以添加动态模型值,但不能更改该动态值。你有什么想法吗?谢谢yurzui。它对我很有用。我可以用管道和这个“this['qtd'+num]”动态变量一起使用吗。如果是,请帮助me@kamalav检查这个,我在普通变量中使用了管道。但在这里(在动态变量中),它给出了错误。这就是我在[let abstract of this]的第55列询问uTemplate parse errors:Parser error:Missing expected][res.Id | replaceSpecialChar+'string'];@kamalav您能在stackblitz.com上复制它吗?
export class AppComponent {
qtd:any[] = {};
}
<div *ngFor="let num of ['1','2','3']; let i=index">
<input id="qtd[i]" [(ngModel)]="qtd[i]" type="text"/>
</div>
<div *ngFor="let num of ['1','2','3']; let i=index">
<input
[attr.id]="'qtd'+i"
type="text"/>
</div>