当使用ngModel
使用bumpDetail.name
数组中的属性get来冒充对象时,我遇到了一些问题。
我已将我的代码段粘贴到下方。
有人可以帮我检查一下,告诉我哪里做错了吗?谢谢。
<p *ngFor="let bumpDetail of bumpDetail">
<input type="checkbox" id="device" [(ngModel)]={{bump.bumpDetail.name}}/>
<label for="device">{{bumpDetail.name}}</label>
</p>
Bump[] = [{
"name": "bump_1",
"status": true
}, {
"name": "bump_2",
"status": false
}, {
"name": "bump_3",
"status": true
}]
这是错误。
分析器错误:插值({{}})其中表达式位于[{{bumpDetail.name}}]中第0列的ng:///AppModule/SettingComponent.html@129:59(“p * ngFor =“让bumpDetail的bumpDetail”&gt;
答案 0 :(得分:6)
[]
和{{}}
从不一起使用。一个或另一个
[(ngModel)]="this[bumpDetail.name]"
{{}}
仅用于字符串插值。
答案 1 :(得分:1)
[(ngModel)]={{bumpDetail.name}}
应该是:[(ngModel)]="bumpDetail.status"
在使用{{}}
或任何其他ng-directive时,您不需要[(ngModel)]
。
其次我认为这里可能存在问题<p *ngFor="let bumpDetail of bumpDetail">
验证您的变量名称是否正确,而且这两个名称不一样。
我会将其更改为:<p *ngFor="let bumpDetail of bumpDetailArray">
其中bumpDetailArray
是数组
答案 2 :(得分:0)
首先获取基础知识{{}}是一个表达式,[(ngModel)]用于双向绑定,其中()发出,[]用于绑定。你需要做的就像[(ngModel)]="bumpDetail.name"
如果你想打印它,那么你需要使用像{{bumpDetail.name}}
这样的表达式。你不能像上面一样使用它们。