uViewUI在H5下报错'bottom' of null,产生的原因是:吸顶组件u-sticky和底部导航栏tabbar切换页面时产生冲突,
sticky组件创建了Observer监听,当切换页面且页面没有销毁时,导致组件仍然保持监听,所以出现Cannot read property 'bottom' of null报错。
所以我们需要手动断开Observer监听来解决这个报错的问题(截至此文发布,uViewUI作者尚未改善:吸顶组件u-sticky的这个问题)。
下面是作者给出的解决方法,亲测有效:
<template> <view> <!-- @property {Boolean} enable 是否开启吸顶功能(默认true)--> <u-sticky :enable="enable"> <view>……</view> </u-sticky> </view> </template> <script> export default { data() { return { enable: true } }, // 在对应的show和hide页面生命周期中打开或关闭监听 onShow() { this.enable= true }, onHide() { this.enable= false } } </script>
上一篇: 《建站管家》二次开发文档