【发布时间】:2020-08-13 11:30:45
【问题描述】:
这是在我的 html 文件中:
<div id="my-div" [ngClass]="hasSetting ? 'my-container' : 'opacity-div my-container'">
<dx-load-panel
#loadPanel
[(visible)]="!hasSetting" >
</dx-load-panel>
</div>
这是我的组件:
export class TurnoverWidgetComponent {
departments: DropdownOption[] = [];
hasSetting: boolean;
constructor(
private myService: MyService
) {
forkJoin(
this.myService.hasSetting(),
this.myService.getDepartments()
).subscribe(
([hasSetting, departments]) => {
this.hasSetting = hasSetting;
this.departments = departments.map(item => {
return {
id: item.id,
name: item.name
}
});
}
);
}
}
我得到错误错误:在检查后表达式已更改 - 在构造函数中,从真到假,反之亦然。根据我的研究,此错误发生在组件初始化后发生的事件中,但是我没有此类事件,我的更改发生在构造函数中。我试着把它放在 oninit 事件中,同样的事情发生了。
【问题讨论】:
-
像hasSetting这样初始化是否还有错误:boolean = false; ?
-
是的,我有。
-
您使用 ngAfterViewInit 挂钩是否有原因?在这种情况下,更合适的是 ngOnInit。只需更换挂钩,您的问题就会得到解决
-
@Andrei 但是我根本没有使用 ngAfterViewInit,你在哪里看到我在使用它?