时间:2021-05-26
什么情况下使用vuex
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,如果您不打算开发大型单页应用,使用 Vuex 可能是繁琐冗余的。如果您需要构建是一个中大型单页应用,您很可能会考虑如何更好地在组件外部管理状态,Vuex 将会成为自然而然的选择。
之前在做旅游页的时候对 Vuex 进行了简单的了解。近期在做 Vue 项目的同时重新学习了 Vuex 。本篇博文主要总结一下 Vuex 单状态库和多模块 modules 的两类使用场景。
本篇所有代码是基于 Vue-Cli 3.x 版本的脚手架工具进行编写的。
vuex 单状态库 Demo
这是一个仅有单个 Vuex store 状态库的 Demo。当项目中使用一个 Vuex 状态库就已经足够的时候,可以使用这种方式。
本 Demo 使用了一个 increment 与 decrement 的 增 / 减 事件来体现 store 数据的变化。
store.js
由于状态库是单一的,仅有一个 store.js 文件管理状态库。在该文件中一开始进行 import 的引入,然后使用 Vue.use(Vuex) 使用 Vuex,之后分别定义 state、mutations 和 actions,并通过 export default new Vuex.Store({state, mutations, actions}) 模块化。
main.js
在入口文件 main.js 中通过 import 引入 store,并注册到 Vue 的实例上。
使用 $store
在相应的组件中如下引入并在 methods 中使用 mapActions。
Demo
关于单状态库的 Demo 请参考此 github
Github Demo
vuex 多模块状态库 Demo
当项目变得非常庞大,单个 store 无法满足需求的时候,可以通过多模块状态库管理多个 store,将各类状态分类进行维护。
本 Demo 使用了 add 与 reduce 的 增 / 减 事件来体现 store 数据的变化。
store
由于需要管理多个 store,因此在项目目录中创建 store 文件夹,并创建 modules 文件夹用来放置各个 store文件,并使用 index.js 作为入口文件。具体结构请查看 Demo。
main.js
同样在 main.js 中通过 import 引入 store,但这里是引入 index.js 这个入口文件。
使用 $store
除了使用方式有一定不同之外,methods 中的 mapActions 也更换了书写方式,第一个参数是对应 store 管理的数据,第二个参数是关于操作事件的数组。
Demo
关于多模块状态库的 Demo 请参考此 github
Github Demo
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一、功能介绍什么是模块状态?在电脑版网站设计页面中,右键点击某个模块,可以看到“设置模块状态”的选项,支持五种模块状态,分别为:停靠状态、锁定状态、侧停状态、飘
vuex.js状态(数据)管理在vue中当我们管理数据的时候比较乱,我们要用到下面的这个库,vuex.jsVuex介绍每一个Vuex应用的核心就是store(仓
vue在做大型项目时,会用到多状态管理,vuex允许我们将store分割成多个模块,每个模块内都有自己的state、mutation、action、getter
官方定义:Vuex是一个专为Vue.js应用程序开发的状态管理模式。我的理解就是,vuex就是前端的数据库。1、首先核心是store,是个仓库,包含着state
数据库状态(databasestates)查询数据库的当前状态:1、查询所有数据库的状态,通过sys.databases目录视图的state_desc列user