2016-06-16 6 views
5

私は特定のクラスを適用したい要素があるので、Observableの変更を見ている[class.active]条件を使用しました。私はそれが次liには適用されません切り替えると、全アプリ故障した場合でも:

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

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

を、私は私がに使用している場合は、[ngClass]の代わりに、それは完璧に動作することを発見しました

なぜですか?誰もこれにいくつかの光を投げることができますか?

ありがとうございます!

答えて

1

は確かに言うことはできませんが、ちょうどカップルのアイデアは、あなたがチェックすることができるもの:持つEventEmitterへ

  • 変更観察可能な、彼らは違った少し行います。詳細についてはhereをお読みください。
  • 観測可能なイベントは、角度NgZoneの外側のどこかで生成することができます。その場合、あなたはこのような何かを通して、あなたのコンポーネントでそれを注入して、プロパティを更新する必要があるだろう:

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

この方法は、角度はそれができなかったでしょう、あなたの変更を見るでしょう別途参照してください。ゾーンの詳細については、こちらをご覧ください。another link

関連する問題