VUEカスタム命令、スクロールロード
6299 ワード
1新しいファイルjs
2 mainを導入する.js
3使用
import Vue from 'vue'
Vue.directive('rolling-load', {
bind(el, binding) {
// element-ui scroll
const SELECTWRAP_DOM = el.querySelector('.el-table__body-wrapper');
SELECTWRAP_DOM.addEventListener('scroll', function() {
// debugger
/*
* scrollHeight ( )
* scrollTop , , , , scrollTop 0.
* clientHeight ( )
* , true, false:
* ele.scrollHeight - ele.scrollTop === ele.clientHeight;
*/
let sign = 20; //
const CONDITION = ((this.scrollHeight - this.scrollTop === this.clientHeight) &&
this.scrollTop > sign)// : && this.scrollTop
if(this.scrollTop > sign) {
// console.log(' ')
sign = this.scrollTop;
}
if(this.scrollTop < sign) {
// console.log(' ')
sign = this.scrollTop;
}
if(CONDITION) {
binding.value();
}
});
}
});
2 mainを導入する.js
import 'rollingLoad'
3使用
<div v-rolling-load="func">div>
<script>
func(){
}
script>