【发布时间】:2020-06-26 12:02:49
【问题描述】:
我有一个 Angular 9 应用程序(最近从 7 升级,但在 7 中仍然有同样的问题),在我的 app.component.html 文件中我有下面的代码。 页面加载正确,一切看起来都很好。 但是方法
getSideBarState() // 返回一个布尔值
在我第一次启动调试器时,'toggled' 和 'show' ngClass 都会被触发并运行至少 10 次以上。然后在最后一个运行后,它等待约 10 秒,然后再次触发约 10 秒并运行。并且这会不断地被触发和运行。
谁能告诉我为什么,以及如何阻止它被触发并运行这么多次?我只希望它在应用首次加载时运行一次。
<div class="page-wrapper" [ngClass]="{'toggled' : getSideBarState()}" (window:resize)="onResize()">
<app-sidebar></app-sidebar>
<main class="page-content">
<div class="">
<app-nav-bar></app-nav-bar>
<router-outlet (activate)="onActivate($event)"></router-outlet>
</div>
<div class="overlay" (click)="toggleSidebar()" [ngClass]="{'show' : !getSideBarState()}"></div>
</main>
</div>
【问题讨论】:
标签: javascript angular typescript ng-class