我有一个总是失败的条件:

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]的变化一样简单,并给出了你正在寻找的结果。

10-06 00:04