为了账号安全,请及时绑定邮箱和手机立即绑定

vue如何注册一个全局滚动事件,判断滚动条滚动到底部后执行事件?

vue如何注册一个全局滚动事件,判断滚动条滚动到底部后执行事件?

慕容708150 2019-03-12 13:15:09
vue如何注册一个全局滚动事件,判断滚动条滚动到底部后执行事件?
查看完整描述

4 回答

?
守候你守候我

TA贡献1802条经验 获得超10个赞

自定义指令了解一下
可以自定义一个滚动指令,在该指令方法下做滚动判断处理,
页面上只需要v-自定义指令名称="方法"

查看完整回答
反对 回复 2019-03-29
?
翻翻过去那场雪

TA贡献2065条经验 获得超14个赞

一个全局组件创建的时候创建监听


    created() {

        window.addEventListener('scroll', this.doSomething);

    },

    destroyed() {

        window.removeEventListener('scroll', this.doSomething);

    }


查看完整回答
反对 回复 2019-03-29
?
FFIVE

TA贡献1797条经验 获得超6个赞

可以在 root vue 中监听一下滚动事件,然后提供接口给其他组件添加监听:


// 在 APP.vue 中添加监听,并且在 vue 上挂载添加监听和去除监听的方法

const onScrollListeners = []

// 在其他组件中直接使用 this.$addOnScrollListener 增加监听, $removeOnScrollListener去除监听

Vue.prototype.$addOnScrollListener = listener=> onScrollListeners.push(listener) 

Vue.prototype.$removeOnScrollListener =  listener=> onScrollListeners.splice(onScrollListeners.indexOf(listener)

window.onscroll = ()=> {

    if(xxxx){ // 判断是否达到你要的条件

        onScrollListeners.forEach(listener=>listener())

    }

}


查看完整回答
反对 回复 2019-03-29
  • 4 回答
  • 0 关注
  • 2382 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号