mounted初始化时,依赖dom节点,出现报错

391 阅读1分钟

错误记录:

Uncaught DOMException: Failed to execute 'inverse' on 'SVGMatrix': The matrix is not invertible.

image.png

使用jointjs发现出现一个这样的错误,还是偶现的,我的电脑不出现,别人的电脑偶尔出现

这个功能用得比较少,一直没发现原因,所以一直没有关

今天又发现这个问题,是另外的电脑比较容易出现

经过各种资料查询,可能的原因是dom还没准备好,导致出现的,使用延迟初始化来看看

之前是在mounted里面直接调用初始化,并且demo节点

  mounted(){
        setTimeout(()=>{
          this.init(this.$refs.joint);
        },300)
  }

问题解决了。。。

总结

在使用vue的时候,mounted 虽然准备好了demo节点,但是外部库似乎处理的时候,可能还是出现渲染问题