vue を使用してプロジェクトを実行すると、例外がスローされます:
DOMException: 'Node' で 'insertBefore' の実行に失敗しました: 新しいノードが挿入される前にあるノードは、このノードの子ではありません.
説明: この問題は以前にオンラインで検索されました。多くの参考資料から、v-if および v-show に関連していることがわかりますが、詳細かつ合理的な説明と解決策は提供されていません。ここで質問をしてください。この問題に遭遇した仲間の道士が説明してくれることを願っています。
情報を検索した後:
https://github.com/vuejs/vue-...
https://github.com/vuejs/vue/...
上記のリンクを参照できます。
ページ Dom がレンダリングされていない場合、http リクエストによって返されたデータが不明なノードに挿入され、このエラーが発生したのではないかと推測しています。
シナリオ: ボタンをクリックしてサーバーにデータをリクエストし、vnode を更新し、レンダリング結果を更新します。
解決策: レンダリングする必要があるテンプレートの外側のレイヤーに<p v-if="isShow"><p v-for=""></p></p>を追加します。 、ボタンをクリックして開始します。データをリクエストするときは、@click="isShow=false"。データをリクエストするときに、コールバック関数の cb(isShow=ture) を最初に削除してから * を挿入します。