链接:https://github.com/YanxinNet/uView/issues/239

uViewUI在H5下报错'bottom' of null,产生的原因是:吸顶组件u-sticky和底部导航栏tabbar切换页面时产生冲突,

sticky组件创建了Observer监听,当切换页面且页面没有销毁时,导致组件仍然保持监听,所以出现Cannot read property 'bottom' of null报错。

所以我们需要手动断开Observer监听来解决这个报错的问题

<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>

 

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐