首页  >  问答  >  正文

javascript - 在vue项目中遇到的问题:DOMException

用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有关系,但是并没有给出过详细合理的解释以及解决方案,在此提出问题,希望遇到过解决的道友给出解释。

阿神阿神2711 天前1104

全部回复(1)我来回复

  • PHP中文网

    PHP中文网2017-06-10 09:51:09

    经过查找资料:
    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). 保证 更新数据的时候先移除后插入*

    回复
    0
  • 取消回复