Vuex组件间共享数据

本文通过实例介绍了如何在Vue项目中使用Vuex进行组件间数据共享。首先展示了简单版Vuex的实现,包括store/index.js、main.js、App.vue和CalResult.vue组件的配置。接着,讨论了如何结合mapAction和mapMutations进行状态管理和操作。最后,讲解了Vuex的模块化配置,特别是使用caculate.js模块,并强调了在设置namespaced为true的重要性,以避免命名空间错误。
摘要由CSDN通过智能技术生成

案例的目录结构如下图:

 

1、简单版Vuex

store/index.js

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

Vue.use(Vuex)

const actions = {
   jia(context, value){
       context.commit('JIA', value)
   }
}

const mutations = {
   JIA(state, value){
        state.sum += value
   },
   JIAN(state, value){
       state.sum -= value
   }
}

const state = {
    sum: 0
}

const getters = {
    bigSum(state){
        return state.sum * 10
    }
}

export default new Vuex.Store({
    actions,
    mutations,
    state,
    getters
})

main.js

import Vue from 'vue'
import App from './App.vue'
import ElementUI from 'element-ui'; //引入ElementUI组件库
import 'element-ui/lib/theme-chalk/index.css'; //引入ElementUI全部样式
import store from './store'

Vue.config.productionTip = false
Vue.use(ElementUI) //应用ElementUIWW

//按需引入ElementUI组件
// import { Row,Button,DatePicker,Table,TableColumn,Pagination,Loading } from 'element-ui';
// Vue.component(Row.name, Row);
// Vue.component(Button.name, Button);
// Vue.component(DatePicker.name, DatePicker);
// Vue.component(Table.name, Table);
// Vue.component(TableColumn.name, TableColumn);
// Vue.component(Pagination.name, Pagination);
// Vue.use(Loading.directive);

new Vue({
  render: h => h(App),
  store: store
}).$mount('#app')

/*
new Vue({
  el: "#app",
  template: "<App></App>",
  components:{
    App: App
  }
})*/

App.vue

<template>
    <div>
        <el-select v-model="selectedAddNum" placeholder="请选择">
            <el-option
                :key="1"
                :label="1"
                :value="1">
           </el-option&
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值