vuex简单使用

Vuex是Vue.js应用程序的状态管理模式,用于集中管理组件状态。通过它,可以在不同组件间轻松传递数据,避免复杂的数据传递。安装Vuex后,创建store.js文件并导入到main.js中。在store.js中定义状态和方法,然后在组件中存取数据。使用计算属性获取数据,使得数据管理更加便捷。Vuex官网提供了更多详细信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我在用vue做前端的时候,常常会想要把数据从一个组件传到另一个组件,这个操作其实挺麻烦的,在我查阅资料是发现了vuex

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

Vue中的所有的数据都可以存放在vuex中,随时存,随时取。对于正常存取数据可能会显得有些麻烦,但对于把数据从一个组件传递到另一个组件确很简单。

vuex简单使用

  • 首先就是在vue中安装vuex,这里用的是nodejs的安装方式:npm install vuex --save
  • 然后就是在vue项目中的src目录下创建vuex文件夹,并在文件夹下创建一个store.js的文件
    在这里插入图片描述
  • main.js下import导入store.js文件,并且注入store,这样就整个应用都能拥有vuex的功能
    在这里插入图片描述
  • 当然,store.js中也是需要写代码的,在这个文件中需要导入vuevuex,使用vuex,然后就定义方法,这里使用的是ES6的语法格式,最后暴露一个接口
    在这里插入图片描述
  • 最后就是使用了,存数据
    在这里插入图片描述
  • 取数据,写在计算属性里面,然后调用计算属性就可以了
    在这里插入图片描述

vuex官网:https://vuex.vuejs.org/zh/

### Vuex 使用方法概述 VuexVue.js 的官方状态管理库,旨在帮助开发者更高效地管理和维护应用中的全局状态[^1]。 #### 创建并初始化 Vuex Store 为了使用 Vuex 进行状态管理,在项目中需先创建一个 `store` 实例: ```javascript import { createStore } from 'vuex' const store = createStore({ state () { return { count: 0, } }, mutations: { increment (state) { state.count++ } }, actions: { increment ({ commit }) { commit('increment') } } }) ``` 这段代码定义了一个简单的计数器逻辑,其中包含了初始状态、改变状态的方法(mutations),以及触发这些变化的动作(actions)[^2]。 #### 安装 Vuex 插件到 Vue 应用程序 为了让整个应用程序能够访问这个 `store` ,需要通过 `Vue.use()` 方法安装 Vuex 并将其挂载至根实例: ```javascript import { createApp } from 'vue' import App from './App.vue' import store from './store' // 假设上面的 store 配置保存在一个单独文件里 createApp(App).use(store).mount('#app') ``` 这里展示了如何利用 `createApp().use()` 来注册 Vuex 插件,并传入之前创建好的 `store` 对象[^3]。 #### 组件内获取 State 和 Dispatch Actions 一旦完成了上述设置工作,则可以在任何组件内部轻松读取共享的状态数据或分发动作来更新它们。例如: ```html <template> <div class="counter"> {{ $store.state.count }} <button @click="$store.dispatch('increment')">Increment</button> </div> </template> <script setup> // 如果是在组合式 API 中可以直接解构 useStore hook 获取 store 实例 import { useStore } from "vuex"; let store = useStore(); console.log(store.getters.someGetter); </script> ``` 此模板片段显示了怎样在视图层展示来自 Vuex 存储的数据(`$store.state`),并通过按钮点击事件调用 action (`dispatch`) 更新该数值[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值