用vue做项目的时候,抛出异常:DOMException: Failed to execute 'insertBefore' on 'Node': The node before which the new node is to be inserted is not a child of this node.
描述:这个问题之前在网上搜索过,从很多参考资料中看出,和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). 保证 更新数据的时候先移除后插入*
经过查找资料:
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). 保证 更新数据的时候先移除后插入*