组件在mounted后初始化组件的代码是
this.$nextTick(() => {
this.initSize()
})
会在nextTick后才触发,如果进入包含这个组件的页面后,快速切换到其他页面,会发现页面已经destroy了但是还是会触发initSize方法,导致
uni.createSelectorQuery()
// #ifndef MP-ALIPAY
.in(this)
/ #endif
.select(`#${this.elId}`)
.boundingClientRect()
.exec(ret => {
this.textWidth = ret[0].width
resolve()
})
里面的ret是[null],导致js报错
1 个回复
u***@gmail.com (作者)
如果nextTick的写法是有其他用途的话,希望能在beforeDestroy的时候添加一个参数控制initSize不再执行,避免报错