Vue: vnodeの巻き上げ-無限ループ警告

作成日 2017年09月15日  ·  3コメント  ·  ソース: vuejs/vue

バージョン

2.4.4

複製リンク

http://jsfiddle.net/vjvMp/2019/

再現する手順

コンポーネントの正確なレイアウトはJSFiddleにあります。 コンポーネントの組み立ては、何らかの理由で非常に壊れやすく、これはバグだと思います。 たとえば、コードに影響を与えないはずの最上位のlayoutコンポーネントを削除すると、警告は消えます: http

何が期待されますか?

子のスロットを親まで持ち上げて、問題なく子の上にレンダリングするため。

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

子はレンダリングされますが、更新ループの警告が無限にあります。

最も参考になるコメント

  • dataからAPIを返します。これにより、while apiオブジェクトがリアクティブになります。
  • Vueがvnodeの変換を試みるAPIにvnodeを設定すると
  • 2.4.3では、いくつかのバグを修正するために、スロットノードが再レンダリング時にディープクローンされるようになりました。これにより、レンダリング関数がvnode全体をリアクティブ依存関係として登録するため、vnodeを変更すると再レンダリングがトリガーされます。

今のところ、回避策はvnodeのObject.freezeあるか、APIインジェクションをリアクティブにしないかのいずれかです。

全てのコメント3件

コードはv2.4.2

  • dataからAPIを返します。これにより、while apiオブジェクトがリアクティブになります。
  • Vueがvnodeの変換を試みるAPIにvnodeを設定すると
  • 2.4.3では、いくつかのバグを修正するために、スロットノードが再レンダリング時にディープクローンされるようになりました。これにより、レンダリング関数がvnode全体をリアクティブ依存関係として登録するため、vnodeを変更すると再レンダリングがトリガーされます。

今のところ、回避策はvnodeのObject.freezeあるか、APIインジェクションをリアクティブにしないかのいずれかです。

修正はうまくいきます! ありがとう@ yyx990803

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