错误:ExpressionChangedAfterItHasBeenCheckedError:表达式在检查后已更改。以前的值:

Posted

技术标签:

【中文标题】错误:ExpressionChangedAfterItHasBeenCheckedError:表达式在检查后已更改。以前的值:【英文标题】:Error: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: 【发布时间】:2020-01-07 17:42:39 【问题描述】:

如何避免出现此控制台错误。

ERROR 'bg-fade: false'。当前值:'bg-fade: true'。

我正在尝试根据真值向 mat-sidenav-container 添加一个类,只要值发生变化就会出现上述错误。

app.component.html

<mat-sidenav-container [ngClass]="'bg-fade': showSpinner">

app.component.ts

showSpinner: boolean;

constructor(private httpStatus: HTTPStatus) 
    this.httpStatus.getHttpStatus()
      .subscribe((status: boolean) => 
        this.showSpinner = status;
      );
  

styles.css

.bg-fade 
    opacity: 0.3 !important;
    pointer-events: none !important;

【问题讨论】:

【参考方案1】:

添加一个 setTimeout:

setTimeout(() => 
    this.httpStatus.getHttpStatus().subscribe((status: boolean) => 
        this.showSpinner = status;
    );
, 200);

【讨论】:

不,setTimeout 不起作用,我在控制台再次遇到同样的错误。

以上是关于错误:ExpressionChangedAfterItHasBeenCheckedError:表达式在检查后已更改。以前的值:的主要内容,如果未能解决你的问题,请参考以下文章

Informix 错误:发生了语法错误。错误代码:-201

我收到一个错误:“MetaMask - RPC 错误:错误:错误:[ethjs-rpc] rpc 错误与有效负载”

错误精灵错误跟踪器错误

网页打开显示错误500是啥意思

PHP错误处理

PHP的错误处理