用自定义指令封装一个懒加载
import store from '../store/index'
export default {
install (Vue) {
Vue.directive('lazeLoading', {
mounted (el, val) {
// console.log(el, val)
const lazy = new IntersectionObserver((obj) => {
// obj[0].isIntersecting 当元素到达可视区域会返回一个true
if (obj[0].isIntersecting) {
// 清除监听
lazy.unobserve(el)
// console.log(obj[0].isIntersecting)
// console.log(val, store)
store.dispatch(val.value)
}
})
lazy.observe(el)
}
})
}
}