Aureliaが新しいルートにナビゲートしているときに、html
エレメントにclass
を追加しようとしています。ルータへの変更を検出しました.isNavigating
私の現在のソリューションは、それが私のビューの一部ですので、それはこのように、「ただ働き」のでmain
要素にクラスを追加することです:
import {inject} from 'aurelia-framework';
import {Router} from 'aurelia-router';
@inject(Router)
export class App {
constructor (router) {
this.router = router;
}
}
そして、私の見解では、私は単純に実行します。
<main class="${router.isNavigating ? 'loading' : ''}">
<router-view></router-view>
</main>
しかし、私が述べたように(私はページ上のすべての単一の降順のスタイルを設定できるように)、私が代わりにhtml
要素にloading
クラスを追加することを好むだろう。 html
の要素はではないので、私の見解の一部であるではありません。同じ方法でこれを達成することはできませんが、代わりにの場合はrouter.isNavigating
がtrueです。
私の質問です。どうすればこれを達成できますか?私はaureliaがpropertyChanged
メソッドをサポートしていることを知っていますが、router.isNavigating
、のようなネストされたプロパティの場合、どのように動作するのか分かりません。私も@computedFrom(router)
とその変形を試しましたが、動作させることはできません。
上記のFabioの答えは '@computedFrom( 'router.isNavigating')'と同じですが、私はEventAggregatorを使った解決策がこれを行う正しい方法だと思います。 –
私は@AshleyGrantに同意します。 –
人は私に聞かせてくれます..添付されたイベントでAPIコールを持っていると仮定して、スピナーを表示/非表示にするために 'isNavigating'を使用してください..私のコールがまだ終了していなくても、 –