美文网首页
2019-01-16 vue.js中的注意事项

2019-01-16 vue.js中的注意事项

作者: jakeliukai | 来源:发表于2019-01-17 16:32 被阅读0次

一、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)

相关文章

网友评论

      本文标题:2019-01-16 vue.js中的注意事项

      本文链接:https://www.haomeiwen.com/subject/nxlmdqtx.html