Durandalの遷移を使用して古いビューをただちにフェードアウトする簡単な方法はありますか?そして、activate関数が解決したら新しいものをフェードインさせますか?ここで有効にする前の遷移を解決する
は、いくつかの状況です:
私はビューのほとんどは、機能を有効デュランダル1.2 SPAを持ってサービス呼び出しを行うと、適切な約束を返します。これはすべて機能しますが、読み込みが完了したときにのみ遷移が実行されることがあります。サービスが応答するまでに数秒かかる場合があります。リンクをクリックしたときのユーザーエクスペリエンスが低下し、何か目立つことが起こるまでに数秒かかります。
解決策は、(有効になる前に)すぐに古いビューをアニメーション化して、アクティブ化が完了したときに新しいビューでアニメートすることです。現時点では、アニメーション表示はすべてルートに対応しており、変更が必要ではありません。私が思い付くし、そのすべての作業数のソリューションをテストしたが、理想的とは言えないようだ(とデュランダルの移行フレームワークを活用していない)しました:
- 手動で(その非アクティブ化ですべてのビューを離れアニメーション)と戻ってそれをアニメーションそのviewAttached()
- バインドrouter.isNavigatingに.PAGEホストのdivの可視性ビア内(遷移を処理するためにカスタムバインディングを使用してこのようなノックアウトサイトからfadeVisible例として)
- 手動router.isNavigatingに加入し、変更時にカスタムロジックを実行する
私はそれらを試しましたが、これまでのところ私は.page-host divのカスタムバインディングがベストですが、これはコードの量が最小限で済むためです。しかし、私の特定の状況のために私のケースでしか動作しません。ジェネリックソリューション。
これは、Durandalのトランジションが作成されたものとまったく同じようです。トランジションを使ってDurandalでこれを行うもっとエレガントな方法がありますか(1.2または今後のリリースで)?
私はthis questionを見ましたが、これは類似しているようですが、少し具体的ではなく、関連する回答はありません。
:カスタムの移行に使用すると、ロードオーバーレイを非表示に戻って、この観測可能に設定することができます - あなたは、「読み込み」、観察を使用しています有効にする - 私は、いくつかの経路パラメータに沿って、正しいデータを取り戻すために何か案は? – daedalus28
ちょうどそこにタイプミスがあることがわかりました。それは残念ながらうまくいきませんでした – daedalus28