Vue: 非同期コンポーネントでのout-in遷移の問題

作成日 2017年05月26日  ·  17コメント  ·  ソース: vuejs/vue

バージョン

2.3.0

複製リンク

https://jsfiddle.net/z11fe07p/1959/

再現する手順

何が期待されますか?

前のコンポーネント(A)は、コンポーネントBが表示される前に消えるはずです。

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

コンポーネントAとBが同時に表示されます


この動作は、コンポーネントBがまだロードされていない場合にのみ発生します。 次にAからBに切り替えるときは、すべて問題ありません。

bug

最も参考になるコメント

私は解決しました、ちょっと待ってください...

async componentsレンダリングするときは、非表示の要素プレースホルダーを使用する必要があります

全てのコメント17件

おかげで、バグのように見えます。 簡潔で明確な再現をありがとう🙂

非同期コンポーネントのレンダリングが早すぎるようです

私は解決しました、ちょっと待ってください...

async componentsレンダリングするときは、非表示の要素プレースホルダーを使用する必要があります

これで非同期コンポーネントの遷移が解決されますか? 私はVueを初めて使用するため、コードのバグである可能性がありますが、以下のリポジトリには、アウトフェードが完了するのを受信コンポーネントが待機しないトランジションアウトインバグが引き続き表示されます。 上記のhttp-vue-loaderを使用していることに注意してください。

非同期コンポーネント移行バグデモ

これは確かに同じ再現でまだ失敗しています。 @clingorが言ったように、移行はすぐに始まります

@posva

https://cdnjs.cloudflare.com/ajax/libs/vue/2.3.4/vue.js

このバージョンには修正コードが含まれていないようです

修正はまだリリースされていません。 パッチがdevブランチに到達したときに問題をクローズしましたが、まだ公開リリースされていない可能性があります。

2.3.4には、メモリリークの修正が1つだけ含まれています(優先度が高い)

私の悪いことに、コミットがリリース前であるのを見て、それが奇妙だと思った。 とにかくリリースノートにあったでしょう

誤解をおかけして申し訳ありません。問題を確認していただきありがとうございます。

これは2.4.2ではまだ修正されていないようです。 これはまだリリース待ちですか?

非同期コンポーネント移行バグデモ

@clingorよろしいですか? jsfiddleはうまく機能します

フィドルは正しく機能しますが、私の例のGitHubリポジトリのコードは同じ動作を示します。 http-vue-loaderヘルパーライブラリか、コード内の何かである可能性があります。 この例は単純で、問題を示す

@FranckFreiburgerこれらのVueJSの変更のいずれかで、 http-vue-loaderの更新が必要ですか?

あなたがローダーなしでjsfiddleに問題を置くならば、私は見ることができます

午前21.07.201721:16シュリーブ「クリスリンガー」 [email protected]

これは2.4.2ではまだ修正されていないようです。 これはまだ保留中ですか
リリース?

非同期コンポーネント移行バグデモ
https://github.com/clingor/githubIssuesFileShare/tree/master/vue-async-component-bug


このスレッドにサブスクライブしているため、これを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/vuejs/vue/issues/5760#issuecomment-317088909 、またはミュート
スレッド
https://github.com/notifications/unsubscribe-auth/Aclno69wDoTlZziST6eSocqxEnn8mFx-ks5sQPkKgaJpZM4Nng7j

犯人は<keep-alive>です!

再現する手順

  1. https://jsfiddle.net/z11fe07p/2382/を参照して
  2. 「B」ボタンをクリックします

@posva 、再現できますか?

@FranckFreiburgerそのための新しい問題を開く必要があります。 ありがとうところで😉

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