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

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

慕容708150
浏览 2383回答 4
4回答

守候你守候我

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

翻翻过去那场雪

一个全局组件创建的时候创建监听    created() {        window.addEventListener('scroll', this.doSomething);    },    destroyed() {        window.removeEventListener('scroll', this.doSomething);    }

FFIVE

可以在 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())    }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript