jin-yufeng / mp-html

小程序富文本组件,支持渲染和编辑 html,支持在微信、QQ、百度、支付宝、头条和 uni-app 平台使用
https://jin-yufeng.gitee.io/mp-html
MIT License
3.26k stars 478 forks source link

lazyLoad提示未定义 #513

Closed woxiaoyao81 closed 1 year ago

woxiaoyao81 commented 1 year ago

使用环境

mp-html版本号:v2.4.1,HbuilderX版本3.7.11,微信小程序没有问题,APP中使用图片懒加载lazyLoad

问题描述

一般是在初次时,会报node.vue中lazyLoad未定义错误

复现方式

content是包括图片html

<mp-html lazy-load container-style="padding:5px 10px;font-size:1.2em;" :content="content"/>

加载时有时报会报node.vue中lazyLoad未定义错误,经查源码初步定位于node的mounted中获取根节点部分代码的问题

this.$nextTick(() => {
  for (this.root = this.$parent; this.root.$options.name !== 'mp-html'; this.root = this.root.$parent);
})  

APP端应该渲染太快,this.root并不是根节点,此时访问this.root.lazyLoad导致报错

jin-yufeng commented 1 year ago

暂时没复现出来,不过可能出现的话加个条件判断好了