Vue: インクルードが機能しないトランジション内でのKeep-Alive

作成日 2017年03月31日  ·  4コメント  ·  ソース: vuejs/vue

バージョン

2.2.6

複製リンク

https://jsfiddle.net/50wL7mdz/24930/

再現する手順

「ビューの切り替え」ボタンをクリックします。

何が期待されますか?

他のサインインビューに切り替えるときは、「ホーム」ビューの状態が維持されている必要があります。

実際に何が起こっているのですか?

代わりに、「ホーム」ビューが毎回再作成されます。


include = "home"オプションをkeep-aliveから削除すると、意図したとおりに機能します。または、mode = "out-in"オプションを遷移ノードから削除すると、意図したとおりに機能します。
私はこれをデバッグしましたが、コンポーネントを切り替えるたびに、「include」ウォッチがvalパラメータとして未定義でトリガーされ、正しい「home」値で再びトリガーされているようですが、それまでに最初のトリガーはすでにキャッシュからホームノードを削除しています。

bug

全てのコメント4件

includeオプションを使用するには、コンポーネントのnameプロパティを指定する必要があります。 これは、ドキュメントでも説明されているはずです。

実際には、それを忘れてください、それはうまくいくはずです...

それまでの間、回避策として残りのコンポーネントで除外を使用できます

@posva includeを使用すると、なぜキャッシュが無効になるのか、まだ

このページは役に立ちましたか?
0 / 5 - 0 評価