vuex的简单使用State Getters Mutations Actions

简介: vuex的简单使用State Getters Mutations Actions

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

vuex是解决vue组件和组件间相互通信而存在的,vuex理解起来稍微复杂,但一旦看懂则非常好用。

首先我们先在我们项目安装vuex(项目初始化选了vuex,则跳过此步骤)

yarn add vuex

在src下创建store文件夹,创建index.js(演示我就放到一个文件里,如果数据比较多或者感觉文件比较乱,可以把四个状态分别挪出去,然后用store.js组装)

注:vuex的四大金刚介绍下

State        储存初始化数据

Getters     对State 里面的数据二次处理(对数据进行过滤类似filter的作用)比如State返回的为一个对象,我们想取对象中一个键的值用这个方法

Mutations  对数据进行计算的方法全部写在里面(类似computed) 在页面中触发时使用this.$store.commit('mutationName') 触发Mutations方法改变state的值

Actions      处理Mutations中已经写好的方法 其直接触发方式是 this.$store.dispatch(actionName)

在main.js里引入,方法和路由文件的引入一样

image.gif

注:一定要将store注入到组件中

State的简单使用

image.gif

image.gif

Mutation的简单使用


this.$store.commit("store中mutations定义的方法名")

Action的简单使用

this.$store.dispatch("store中actions定义的方法名")

image.gif

image.gif

Getter的简单使用

注:这里我控制count不能小于0

Vuex 可以帮助我们管理共享状态,并附带了更多的概念和框架。这需要对短期和长期效益进行权衡。

如果您不打算开发大型单页应用,使用 Vuex 可能是繁琐冗余的。确实是如此——如果您的应用够简单,您最好不要使用 Vuex。一个简单的 store 模式就足够您所需了。但是,如果您需要构建一个中大型单页应用,您很可能会考虑如何更好地在组件外部管理状态,Vuex 将会成为自然而然的选择。引用 Redux 的作者 Dan Abramov 的话说就是:

Flux 架构就像眼镜:您自会知道什么时候需要它。




相关文章
|
前端开发 JavaScript BI
轻松搞定vue3+Pinia-2-修改state-patch-actions
轻松搞定vue3+Pinia-2-修改state-patch-actions
255 0
|
7月前
|
前端开发 数据处理 开发者
vuex中mutations详解,与actions的区别
Vuex 的 Mutations 是用于改变 Vuex Store 中状态的一种方式。它是一个同步的操作,用于直接修改 Store 中的状态。
|
4月前
|
存储 JavaScript API
Vuex的魔法宝典:掌握State, Getters, Mutations和Actions,让状态管理不再是难题
【8月更文挑战第27天】Vuex是Vue.js应用程序的状态管理工具,通过集中式存储管理组件状态并确保状态按照预定义的规则发生变化。
152 0
|
2月前
|
存储 监控 JavaScript
Vuex 中 State 的作用
【10月更文挑战第15天】State 是 Vuex 状态管理体系中的核心组成部分,它为应用提供了可靠的数据共享和管理机制,保障了应用的正常运行和良好体验。理解和正确使用 State 是掌握 Vuex 状态管理的关键,对于构建复杂、高效的 Vue 应用具有重要意义。
|
2月前
|
监控 JavaScript
Vuex学习二:Vuex的重点属性学习,state、mutations、getters、actions、module。
这篇文章是关于Vuex状态管理库的深入学习,涵盖了其核心概念如state、getters、mutations、actions和modules,并通过实例代码展示了它们的使用和重要性。
36 1
|
4月前
|
JavaScript
成功解决:[vuex] must call Vue.use(Vuex) before creating a store instance.
这篇文章介绍了在使用Vue和Vuex时遇到的一个常见错误:"[vuex] must call Vue.use(Vuex) before creating a store instance." 错误的原因是在使用顺序上出现了问题,即在创建store之前没有正确地声明使用vuex。文章提供了详细的解决方法,即将`Vue.use(Vuex)`直接放在`store/index.js`文件中,以确保在创建store实例之前Vuex已经被Vue使用。通过这种方式,问题得到了成功解决。
成功解决:[vuex] must call Vue.use(Vuex) before creating a store instance.
|
5月前
|
存储 JavaScript
VUEX 的使用学习二: state
VUEX 的使用学习二: state
37 0
|
5月前
|
监控 JavaScript
VUEX 使用学习三 : mutations
VUEX 使用学习三 : mutations
30 0
|
7月前
|
JavaScript
如何在Vuex中定义和使用getters和actions
在Vuex中,`getters`用于派生状态值,类似Vue的计算属性,例如从`todos`状态中过滤已完成/未完成任务。`actions`则处理异步操作,如模拟加载数据,通过`commit`改变状态。
|
7月前
|
JavaScript
vuex如何在actions中传递参数
在Vuex的`actions`中传递参数可以提高其灵活性和复用性。