VUEX的初使用

state:用于存储数据,准确的来说是存储状态,在组建中使用的方法为:
this.$store.state.paper

mutations:用来写同步的方法,修改状态,在组件中使用方法为:this.$store.commit(‘方法名’,参数)

actions:用来提交mutation,相当于mutation中的方法包装了一层,可以是异步的。提交mutation,再通过mutation同步修改数据,在组件中使用方法为:this.$store.dispath(‘方法名’,参数)

getters:相当于state的计算属性,在组件中使用方法为:this.$sotre.getters.fun()

modules:当管理的状态很多的时候,需要将vuex的store对象分割成模块进行管理,如下:

import dicts from "@/store/modules/dicts.js";
import paper from "./modules/paper";

Vue.use(Vuex);

const store = new Vuex.Store({
  modules: {
    dicts,
    paper,
  },
  getters,
});

export default store;

如下:包含state、mutations、action三部分

const state = {
  paper: {},
};

const mutations = {
  SET_PAPER(state, data) {
    state.paper = data
  },
};
const actions = {
  setPaper({commit}, data) {
    commit('SET_PAPER', data);
  },
};

export default {
  namespace: true,
  state,
  mutations,
  actions,

};

在组件中使用如下:

getDetail() {
      previewPaper(this.$route.query.paperId).then(res=>{
        if (res.code == 200){
        //把数据存在vuex中
          this.$store.dispatch('setPaper',res.data);
        }
      })
    },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值