我有一个我想要应用某个类的元素,所以我使用了一个正在观察Observable更改的[class.active]条件。但是当我切换它时,它并不适用于以下li
并打破整个应用程序:
<li *ngFor="let room of activeRooms$ | async" [class.active]="room.name === (currentRoomName$ | async)">
我发现如果我使用[ngClass]代替它,它可以完美地运作:
<li *ngFor="let room of activeRooms$ | async" [ngClass]="{ active: room.name === (currentRoomName$ | async)}">
为什么?任何人都可以对此有所了解吗?
谢谢!
答案 0 :(得分:1)
无法确定,但只是想到你可以检查的想法:
可以在角度NgZone之外的某处生成可观察事件;在这种情况下,您需要将其注入组件并通过以下方式更新您的属性:
zone.run(() => this.prop = newValue);
这样,角度就会看到你无法看到的变化。您可以在此处详细了解区域:another link