vuex使用方法

发布时间:2019-05-29 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了vuex使用方法脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

本实例主要讲vuex一种简单使用方法,也是官网推荐的方法执行流程,涉及技术点vue2+vuex+axios。

vuex是vue应用的状态管理模式,说白了就是管理vue的一些状态信息,主要包括:

  1. state/mapState

  2. getters/mapGetters

  3. mutations

  4. actions

  5. modules

想要具体了解vuex请访问官网

上代码:

store.js

export default  {
    state: {
        messageList:  [] //state初始化数据
    },
    getters: {
        messageList: state => state.messageList  //获取messageList数据
    },
    mutations: {
        ['GET_MESSAGE_LIST'](state, res) { //改变state中的数据
            state.messageList = res.data.messageList; //赋值方式
            // state = { ...state, messageList: res.data.messageList }//这中方式可以改变state中的状态,但是getters数据不同步,不知是ES6不支持还是什么原因?有了解的朋友帮忙解释下 不胜感激!
        }
    },
    actions: {
        getMessageList({commit}) {
            Vue.prototype.$http.get('test/messageList.json') //这里是把axios写在原型上了,我是这么调用的,也有其他调用方式
            .then(res => {
                commit('GET_MESSAGE_LIST', res) 执行mutations方法
            }).catch(function (error) {
                console.log(error);
            });
        }
    }
}

messageList.vue组件

<script>
    import { mapGetters } from 'vuex'
    export default {
        data() {
            return {}
        },
        computed: {
            ...mapGetters([ //把getters映射到组件内部数据即可使用
               'messageList'
            ])
        },
        methods: {
            submitGetMessageList(){
                this.$store.dispatch('getMessageList');//$dispatch在vue2中已废除,此处用的是elementUI中的方法,触发actions
            }
        }
    }
</script>

vuex mutations是唯一改变state的值,Action 提交的是 mutation,不是直接更改state状态,大概就是这么个流程!

脚本宝典总结

以上是脚本宝典为你收集整理的vuex使用方法全部内容,希望文章能够帮你解决vuex使用方法所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:Vue