一、vue 中滚轮滚动监听事件
<script>
export default {
name:"vue-scroll",
data () {
return {
……
}
},
mounted: function () {
window.addEventListener('scroll', this.handleScroll, true); // 监听(绑定)滚轮滚动事件
},
methods: {
handleScroll: function () {
let clientHeight = document.documentElement.clientHeight || document.body.clientHeight;
// 设备/屏幕高度
let scrollObj = document.getElementById(div); // 滚动区域
let scrollTop = scrollObj.scrollTop; // div 到头部的距离
let scrollHeight = scrollObj.scrollHeight; // 滚动条的总高度
//滚动条到底部的条件
if(scrollTop+clientHeight == scrollHeight){
// div 到头部的距离 + 屏幕高度 = 可滚动的总高度
}
}
},
destroyed: function () {
window.removeEventListener('scroll', this.handleScroll); // 离开页面清除(移除)滚轮滚动事件
}
}
</script>
二、获取、修改vuex 状态管理器中的值
获取应用
方法一:
在computed中定义一个方法,并return出state对象中的属性及其状态:
title 可以直接当全局变量用{{title}}
computed:{
title(){
return this.$store.state.title
}
}
方法二:
利用vuex的mapState方法来获取vuex的state对象中属性
title 可以直接当全局变量用{{title}}
import { mapState } from 'vuex'
export default {
computed: {
//获取仓库里的title
...mapState(['title'])
},
}
修改应用
方法一:this.$store.commit('updateTitle',res.film.name)
方法二:this.$store.dispatch('updateTitle', res.film.name)
网友评论