uniapp使用sticky组件,报错Cannot read properties of null (reading 'bottom')

766 阅读1分钟

前言

  平时在使用uview进行开发项目的时候,在H5下面用了sticky组件的时候,我们会看到控制台会打印Cannot read properties of null (reading 'bottom'),这样的字样。作为程序员,看到这些报错,心里多多少少会有一点不舒服。

出现原因

  sticky组件创建了Observer监听,当切换页面且页面没有销毁时,导致组件仍然保持监听,所有出现了报错。他的开关就在于enable这个关键字。

解决办法

<template>
    <view>
        <u-sticky :enable="enable">
        </u-sticky>
    </view>
</template>
<script>
export default {
    data() {
        return {
            enable: true
        }
    },
    // 在对应的show和hide页面生命周期中打开或关闭监听
    onShow() {
        this.enable= true
    },
    onHide() {
        this.enable= false
    }
}
</script>