产生的原因是:
组件u-sticky和底部导航栏tabbar切换页面时产生冲突,sticky组件创建了Observer监听,当切换页面且页面没有销毁时,导致组件仍然保持监听,所以出现Cannot read property 'bottom' of null报错。所以我们需要手动断开Observer监听来解决这个报错的问题
源代码:
<u-sticky offset-top="200" >
</u-sticky>
改正后:
<template>
<u-sticky offset-top="200" :enable="enable">
</u-sticky>
</template>
<script>
export default {
data() {
return {
// @property {Boolean} enable 是否开启吸顶功能(默认true)
enable:true
}
},
// 在对应的show和hide页面生命周期中打开或关闭监听
onShow() {
this.enable= true
},
onHide() {
this.enable= false
}
}
</script>