vue vuex学习

2019-12-23  本文已影响0人  八重代

用vuex的好处

1、解决了不同组件的数据共享问题
2、组件里面的数据持久化

环境及项目搭建

下载node.js,安装之后在cmd里输入命令行
npm install webpack -g
安装vue-cli,输入命令行
npm install webpack -g vue-cli
使用命令 vue init webpack vue-demo 搭建vue项目, vue-demo”是你的项目名称。

安装vuex

使用命令:npm install vuex --save

vuex的使用

1、在src的目录下新建一个vuex的文件夹
2、在vuex下面新建一个store.js
直接把store.js里的代码贴上,里面有注释

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex);

//创建存储数据的仓库state,集中管理数据,相当于data,用语存储数据
const state={
     msg:"这是测试的",
     count:1,
     list:[]
}

//actions中的方法,这里面的方法都是异步操作
//页面上调用这个里面的方法,其实还是调用的下面mutations里的方法
//页面上调用这个里面的方法使用this.$store.dispatch()
const actions={
     setValue(context,res) {
        // console.log(res);
        context.commit('setData',res);
     }

}

//创建mutations,主要放的是方法,目的是能最终改变仓库中的数据,这里是同步操作
//页面上调用这里的方法使用this.$store.commit()
const mutations={
     //如果要传值必须加一个state
    setData(state,result) {
      state.msg=result;       
    },
    addcount(){
         ++state.count
    },

    //给list赋值
    setLlist(state,result){
         console.log("hhh"+result.length);
         state.list = state.list.concat(result);
    }
}   

//有点类似于计算属性  改变state里的count的值的时候会触发这里面的方法
const getters={
     computedcount:(state)=>{
          return state.count*2;
     }
}

//暴露出去,实例化
export default new Vuex.Store({
state,
actions,
mutations,
getters

})

上一篇 下一篇

猜你喜欢

热点阅读