Vue 模块化使用 Vuex

Vuex 是 Vue.js 的状态管理模式和库。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式和库。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。

下面是一个简单的 Vuex 使用示例:

首先,你需要安装 Vuex。你可以通过 npm 安装:

复制代码
`npm install vuex --save`

在你的 Vue 项目中创建一个新的文件来作为你的 store,例如 store.js

复制代码
`import Vue from 'vue';
import Vuex from 'vuex';

Vue.use(Vuex);

export default new Vuex.Store({
state: {
count: 0,
},
mutations: {
increment (state) {
state.count++;
},
},
actions: {
incrementIfOddOnRootSum ({ commit, state }) {
if ((state.count + this.sum) % 2 === 1) {
commit('increment')
}
}
},
modules: {
// 这里可以定义子模块,每个子模块拥有自己的 state、mutation、action、getters
}
});`

在你的 Vue 组件中,你可以这样使用 store:

复制代码
`<template>
<div>
<p>Count: {``{ count }}</p>
<button @click="increment">Increment</button>
</div>
</template>

<script>
import { mapState, mapMutations } from 'vuex';

export default {
computed: { ...mapState(['count']) },
methods: { ...mapMutations(['increment']) },
};
</script>`

在这个例子中,我们定义了一个简单的 store,包含一个 state 和一个 mutation。在 Vue 组件中,我们使用了 mapStatemapMutations 这两个辅助函数来方便地从 store 中获取状态和方法。

相关推荐
一袋米扛几楼9810 小时前
【报错问题】彻底解决 TypeScript 报错 TS2769: No overload matches this call (JWT 篇)
linux·javascript·typescript
涵涵(互关)10 小时前
语法大全-only-writer-two
前端·vue.js·typescript
huangql52010 小时前
浏览器 Location API、History API、路由记录与支付跳转完全指南
前端
木斯佳10 小时前
前端八股文面经大全:腾讯前端实习一面(2026-04-27)·面经深度解析
前端·八股·面经
sayamber10 小时前
Kubernetes 生产环境避坑指南:10 个真实故障案例与解决方案
前端
清寒_11 小时前
分层理解AI架构,降低对AI复杂度的恐惧
前端·人工智能·ai编程
李白的天不白11 小时前
如何项目发布到github上
android·vue.js
牧码岛11 小时前
Web前端之JavaScrip中的Array、Object、Map和Set详解
前端·javascript·web·web前端
Bigger11 小时前
😮‍💨 有了 AI 之后,我怎么感觉反而更累了?
前端·aigc·ai编程
Dxy123931021611 小时前
HTML中使用Canvas动态图形渲染:解锁Web交互新维度
前端·html·图形渲染