我有一个总是失败的条件:
this.category.ageCategory !== 5
如果我用
!==
更改!=
,它将工作我的类别对象:
export class Category {
id: number;
name: string;
ageCategory: number;
...
}
我的表格:
<select class="form-control" name="ageCategory" id="ageCategory" [(ngModel)]="category.ageCategory">
<option *ngFor="let ageCat of ageCategories" [value]="ageCat.id">
{{ageCat.text | translate }}
</option>
</select>
实际上,如果我调试,我可以看到
ageCategory
是一个字符串"5"
为什么agecategory是字符串?
我是否应该对所有变量使用
parseInt
:( 最佳答案
你可以使用ngValue
来达到这个目的。它允许您在模型绑定时指定不是字符串的值。在您的示例中,您只需要更改以下内容:
<option *ngFor="let ageCat of ageCategories" [ngValue]="ageCat.id">
{{ageCat.text | translate }}
</option>
这就像从
[value]
到[ngValue]
的变化一样简单,并给出了你正在寻找的结果。