我在我的root app.component.html上使用css加载器和ngIf:
<div *ngIf="displayPageLoader" class="page-loader-background">
<div class="page-loader">
<div class="loader2" style="font-size: 7px; top: -50px;">Loading...</div>
</div>
</div>
当我需要显示加载器时,我调用ToggleLoadersService服务,该服务告诉根组件更改变量displayPageLoader。
它运作良好,但我几乎每页都会出现此错误:
ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: 'true'. Current value: 'false'.
at viewDebugError (vendor.bundle.js:8687)
at expressionChangedAfterItHasBeenCheckedError (vendor.bundle.js:8665)
at checkBindingNoChanges (vendor.bundle.js:8829)
at checkNoChangesNodeInline (vendor.bundle.js:12682)
at checkNoChangesNode (vendor.bundle.js:12656)
at debugCheckNoChangesNode (vendor.bundle.js:13431)
at debugCheckDirectivesFn (vendor.bundle.js:13333)
at Object.eval [as updateDirectives] (ng:///AppModule/AppComponent.ngfactory.js:50)
at Object.debugUpdateDirectives [as updateDirectives] (vendor.bundle.js:13315)
at checkNoChangesView (vendor.bundle.js:12476)
at callViewAction (vendor.bundle.js:12840)
这是一个切换此错误的方案:
当页面2尝试调用ToggleLoadersService服务以切换加载程序时,会出现错误。
我知道还有其他相关主题,但他们并没有真正帮助我。
任何帮助将不胜感激。 感谢。
答案 0 :(得分:-1)
尝试[隐藏],因为它只隐藏元素而不是删除它。它不会创建一个事件,但只能用于UI