我是靠谱客的博主 可靠身影,最近开发中收集的这篇文章主要介绍vue项目 store.js使用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

准备工作:

1.安装依赖

npm install vuex

2.创建store文件夹以及store.js文件  在根目录下,当然,这是因为我是用cil3创建的项目,导致没有store文件以及store.js文件

对了,如果你是在src文件夹下创建store文件夹,nastore.js要改名为index.js

开始:

1.直接上代码,这一步没啥好说

import vue from 'vue'
import  vuex from 'vuex'
vue.use(vuex);

2.还是上代码,这个倒是有点说法

export default new vuex.Store({
    state: {
        id:0,
        password:'',
        name:''

    },
    mutations: {
        setId(state,data){
            state.id = data;
        },
        setPassword(state,data){
            state.password = data;
        },
        setName(state,data){
            state.name = data;
        }
    },
    getters: {
        getId: state => state.id,
        getPassword: state => state.password,
        getName: state => state.name
    },
    actions:{
        setId(context,data){
            context.commit('setId',data)
        },
        setPassword(context,data){
            context.commit('setPassword',data)
        },
        setName(context,data){
            context.commit('setName',data)
        }
    }
});

state为单一状态树,在state中需要定义我们所需要管理的数组、对象、字符串等等,只有在这里定义了,在vue.js的组件中才能获取你定义的这个对象的状态。

mutations,个人理解为下面的方法就是java中的set方法,改变state中定义内容的唯一方法,当然,执行这个方法需要用到store.commit('','')(这个在后面组件中会提到)

getters,getter有点类似vue.js的计算属性,当我们需要从store的state中派生出一些状态,那么我们就需要使用getter,getter会接收state作为第一个参数,而且getter的返回值会根据它的依赖被缓存起来,只有getter中的依赖值(state中的某个需要派生状态的值)发生改变的时候才会被重新计算。

action,在store.js中提交mutations,跟我们在组件中使用一样,但是他们的调用方式不同

当然,还有module,但是具体怎么用我也不是很了解

store是什么我们了解了以丢丢,现在该是怎么用store了

直接上代码,我相信你们也不想听我bb,还是自己运行代码比较了解

<script>
    import store from '/store/store'
    export default {
        name: "Test1",
        data(){
            return{
                id: store.state.id,
                password: store.state.password,
                name: store.state.name,
            }
        },
        methods: {
            useAction(){
                store.dispatch('setId',20);
                store.dispatch('setPassword','666666');
                store.dispatch('setName','study');
            },
            useMutations(){
                store.commit('setId',10);
                store.commit('setPassword','123456');
                store.commit('setName','vuex');
            },
            getAction(){
                console.log(store.getters);//懒人输出,直接调用getter
            }
        }
    }
</script>

ok,BB了这么多,该看看他的运行结果了

虽然action跟mutations看起来都一样,但是还是有差别的,

mutations是直接修改state,这也是修改state值发生变化的唯一方法

action是借用mutations来修改state的值

好了,这样就结束了,感觉好垮的样子

 

最后

以上就是可靠身影为你收集整理的vue项目 store.js使用的全部内容,希望文章能够帮你解决vue项目 store.js使用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(32)

评论列表共有 0 条评论

立即
投稿
返回
顶部