vue--如何使用vuex储存数据

1.定义

最后形成这样的结构,system.js为自定义储存的地方
在这里插入图片描述

2.需要定义三个地方

1.store/index.js

import Vue from 'vue'
import Vuex from 'vuex'
import getters from './getters'
import system from './modules/system'

Vue.use(Vuex)

const store = new Vuex.Store({
    modules: {
        system
    },
    getters
})

export default store

2.store/getters.js

const getters = {
    projectUnit: state => state.system.projectUnit,
    projectTitleId: state => state.system.projectTitleId,
}
export default getters

3.store/modules/system.js

  const system = {
      namespaced: true,
      state: {
          projectTitleId: "",
          projectUnit: {},
      },
      mutations: {
          SET_PROJECTTITLEID: (state, projectTitleId) => {
              state.projectTitleId = projectTitleId
          },
          SET_PROJECTUNIT: (state, projectUnit) => {
              state.projectUnit = projectUnit
          },
      }
  }

  export default system

3.往里面添加数据

this.$store.commit("system/SET_PROJECTUNIT", this.projectUnit);//在store/modules/system.js里面找到对应的数据
this.$store.commit( "system/SET_PROJECTTITLEID",this.Form.id);

4.取数据

this.$store.getters.projectUnit
this.$store.getters.projectTitleId
  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Vue 3是一个流行的JavaScript框架,用于构建用户界面。VuexVue.js的官方状态管理库,用于在应用程序中集中管理和共享状态。下面是使用Vue 3和Vuex存储数据的步骤: 1. 安装Vuex:首先,你需要在项目中安装Vuex。可以使用npm或yarn来安装,命令如下: ``` npm install vuex ``` 2. 创建store:在项目的根目录下创建一个名为store.js的文件,并导入VueVuex: ```javascript import { createApp } from 'vue' import { createStore } from 'vuex' const store = createStore({ state() { return { // 在这里定义你的状态 } }, mutations: { // 在这里定义你的mutations }, actions: { // 在这里定义你的actions }, getters: { // 在这里定义你的getters } }) const app = createApp({}) app.use(store) export default store ``` 3. 定义状态:在store.js文件中的state对象中定义你的状态。例如: ```javascript state() { return { count: 0 } } ``` 4. 定义mutations:在mutations对象中定义用于修改状态的方法。例如: ```javascript mutations: { increment(state) { state.count++ }, decrement(state) { state.count-- } } ``` 5. 定义actions:在actions对象中定义用于处理异步操作的方法。例如: ```javascript actions: { asyncIncrement(context) { setTimeout(() => { context.commit('increment') }, 1000) } } ``` 6. 使用状态:在Vue组件中使用store中的状态。可以使用`$store.state`来访问状态,例如: ```javascript export default { computed: { count() { return this.$store.state.count } }, methods: { increment() { this.$store.commit('increment') }, decrement() { this.$store.commit('decrement') }, asyncIncrement() { this.$store.dispatch('asyncIncrement') } } } ``` 这样,你就可以在Vue组件中使用Vuex存储和管理数据了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值