2016-06-16 14 views
5

Belirli bir sınıfı uygulamak istediğim bir öğem var, bu yüzden Gözlemlenebilir değişiklikleri izleyen bir [class.active] koşullu kullanıyorum. Ama geçiş zaman aşağıda li için geçerli ve tüm uygulamayı yıkar değildir:

<li *ngFor="let room of activeRooms$ | async" [class.active]="room.name === (currentRoomName$ | async)">

Ben [ngClass] olarak kullanırsanız bunun yerine, mükemmel çalışıyor bulundu:

<li *ngFor="let room of activeRooms$ | async" [ngClass]="{ active: room.name === (currentRoomName$ | async)}">

Neden? Bu konuda biraz ışık tutabilir mi?

Teşekkürler!

cevap

1

kesin söyleyemem, ama sadece birkaç fikir kontrol ne olabilir: EventEmitter için

  • Değişim Gözlemlenebilir, bunlar farklı hafifçe gerçekleştirmek; Daha fazla bilgi için here'u okuyabilirsiniz.
  • Gözlemlenebilir olay açısal NgZone dışında bir yerde oluşturulabilir; bu durumda, böyle bir şey aracılığıyla bileşeninde enjekte ve işletmenizi güncellemek gerekir:

    zone.run(() => this.prop = newValue);

Bu şekilde açısal o mümkün olmazdı değişiklikleri görmek istiyorum aksi halde bakın. Bölgeler hakkında daha fazla bilgiyi buradan edinebilirsiniz: another link