js:Vue.js自定义指令实现scroll下滑滚动翻页

简介: js:Vue.js自定义指令实现scroll下滑滚动翻页

Vue.js自定义指令实现scroll下滑滚动翻页

核心代码

import Vue from 'vue'
// v-scroll
Vue.directive('scroll', {
  bind(el, binding, vnode) {
    // console.log('bind')
    // 此处为了简单,直接判断触底了
    function handleScroll(e) {
      let isBottom =
        e.target.clientHeight + e.target.scrollTop == e.target.scrollHeight
      if (isBottom && !vnode.context.loading) {
        binding.value()
      }
    }
    // 监听滚动
    el.__handleScroll__ = handleScroll
    el.addEventListener('scroll', handleScroll, false)
  },
  unbind(el, binding, vnode) {
    console.log('unbind')
    // 解除事件监听
    el.removeEventListener('scroll', el.__handleScroll__, false)
  },
})

代码可进一步优化

参考

vue对el-autocomplete二次封装增加下拉分页


相关文章
|
2月前
|
JavaScript
vue3自定义指令
vue3自定义指令
|
3月前
|
JavaScript
vue3中使用全局自定义指令和组件自定义指令
全局自定义指令和组件自定义指令的区别,除了写法不同和作用不同,其他的包括生命周期的使用方法都是一致的,全局自定义指令在main.ts中注册后整个项目都可以使用,而组件自定义指令只能在组件中注册,并且在组件中使用。
N..
|
1月前
|
JavaScript 前端开发 开发者
Vue.js自定义指令
Vue.js自定义指令
N..
12 0
|
1月前
|
JavaScript
Vue.js 进阶技巧:自定义指令的使用与实现
Vue.js 进阶技巧:自定义指令的使用与实现
|
2月前
|
JavaScript
Vue中如何自定义指令?
Vue中如何自定义指令?
16 1
|
2月前
|
缓存 JavaScript 开发者
Vue中的自定义指令有什么作用?
Vue中的自定义指令有什么作用?
35 0
|
2月前
|
JavaScript
在Vue中,如何使用自定义指令?
在Vue中,如何使用自定义指令?
14 1
|
3月前
|
前端开发 JavaScript 定位技术
Flutter vs 前端 杂谈:SliverAppBar、手动实现Appbar、前端Html+JS怎么实现滚动变化型Appbar - 比较
Flutter vs 前端 杂谈:SliverAppBar、手动实现Appbar、前端Html+JS怎么实现滚动变化型Appbar - 比较
33 0
|
3月前
|
JavaScript 开发者 UED
自定义指令:让 Vue 开发更有趣(下)
自定义指令:让 Vue 开发更有趣(下)
|
3月前
|
存储 JavaScript
自定义指令:让 Vue 开发更有趣(中)
自定义指令:让 Vue 开发更有趣(中)