我有一个带ngclass条件的div:

<div [ngClass]="{ 'active': nbActive === 1 }" >
    <!-- some stuff -->
</div>

以及类似的具有ngif条件的div:
<div *ngIf="nbActive === 1">
    <!-- some stuff -->
</div>

下面是NBActudio声明:
export class WhyChooseUsComponent implements OnInit {
   nbActive: 0;
   constructor() { }
   // some stuff
}

如果在生产配置中,我设置:
"aot": true,
"buildOptimizer": true,

然后我得到以下错误:
此条件将始终返回“false”,因为类型“0”和“1”没有重叠。
如果将aotbuildOptimizer设置为false并且一切都按预期工作,则不会出现任何错误。
这个问题从何而来,我该如何解决?

最佳答案

你写的

   nbActive: 0;

这意味着nbactive的唯一可接受值是0。
您可能需要这样做:
   nbActive: number = 0;

关于javascript - 当aot设置为true时,ngClass和ngIf条件无法编译,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58095236/

10-11 13:43