lulu不要等太久 2023-09-19 16:16 采纳率: 0%
浏览 7

vue3如何移除当前组件(封装的触底组件,请求方法都在此组件中)的scroll监听事件?


onMounted(() => {
    onReachBottom() 
})
onBeforeUnmount(() => {
    window.removeEventListener('resize', getWindowResize)
    window.removeEventListener('scroll', onBottom)
})

// 触底函数
const onReachBottom = () => {
    window.addEventListener('scroll', onBottom)
}
// 触底相应函数
const onBottom = () => {
    // 获取可视高度
    let clientHeight = document.documentElement.clientHeight;
    // 获取滚动高度
    let scrollTop = document.documentElement.scrollTop
    // 滚动条高度
    let scrollHeight = document.documentElement.scrollHeight
    // console.log(clientHeight + scrollTop);
    // console.log(scrollHeight);
    if (clientHeight + scrollTop + 500 >= scrollHeight && !loading.value) {
        console.log('触底了')
        loading.value = true
        const instance = LoadingPlugin({
            attach: () => content.value,
            showOverlay: false,
            size: '20px',
        });
        page.value++
        let mold = ref('')
        if (props.mold == 'new') {
            mold.value = 'new'
        } if (props.mold == 'hot') {
            mold.value = 'hot'
        } if (props.mold == 'mine') {
            mold.value = 'mine'
        }
        getGallery(page.value, mold.value).then(res => {
            console.log(res);
            if (res.status == 'ok') {
                instance.hide();
                list.value.push(...res.data)
                loading.value = false
            }
        })
    }
}
  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-09-19 18:38
    关注

    【以下回答由 GPT 生成】

    问题梳理准确无误,以下是对问题的期望结果的补充:

    期望结果是,在Vue3中能够通过适当的方式添加和移除当前组件的滚动监听事件,以确保其在需要时触发,不需要时停止触发。需要尽可能使用Vue3的特性和API来实现这一功能。

    另外,鉴于提供的代码片段只是一个部分,且缺少一些变量和函数的定义,如果可能的话,请提供完整的代码或更多的上下文信息,以便更好地理解问题。谢谢!



    【相关推荐】



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 9月19日

悬赏问题

  • ¥66 关于川崎机器人调速问题
  • ¥15 winFrom界面无法打开
  • ¥15 crossover21 ARM64版本安装软件问题
  • ¥15 mymetaobjecthandler没有进入
  • ¥15 mmo能不能做客户端怪物
  • ¥15 osm下载到arcgis出错
  • ¥15 Dell g15 每次打开eiq portal后3分钟内自动退出
  • ¥200 使用python编写程序,采用socket方式获取网页实时刷新的数据,能定时print()出来就行。
  • ¥15 matlab如何根据图片中的公式绘制e和v的曲线图
  • ¥15 我想用Python(Django)+Vue搭建一个用户登录界面,但是在运行npm run serve时报错了如何解决?