本文摘自PHP中文网,作者青灯夜游,侵删。
vuex是基于vue框架的一个状态管理库,可以管理复杂应用的数据状态,可以方便的实现组件之间的数据共享,例兄弟组件的通信、多层嵌套的组件的传值等等;它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式,是基于vue框架的一个状态管理库。可以管理复杂应用的数据状态,可以方便的实现组件之间的数据共享,比如兄弟组件的通信、多层嵌套的组件的传值等等。
Vuex采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
Vuex 也集成到 Vue 的官方调试工具 devtools extension,提供了诸如零配置的 time-travel 调试、状态快照导入导出等高级调试功能。
Vuex中的核心特性
(1)State: 提供唯一的公共数据源,所有共享的数据都要统一放到Store中的State中存储
在组件中访问State的方式:
A.this.$store.state.全局数据名称 如:this.$store.state.count
B.先按需导入mapState函数: import { mapState } from ‘vuex’
然后数据映射为计算属性: computed:{ …mapState([‘全局数据名称’]) }
(2) Mutation:用于修改变更$store中的数
使用方式:
打开store.js文件,在mutations中添加代码如下:
1 2 3 4 5 6 7 |
|
然后在Addition.vue中给按钮添加事件代码如下:
1 2 3 4 5 6 7 8 9 10 |
|
使用mutations的第二种方式:
1 2 |
|
如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
(3)Action:在mutations中不能编写异步的代码,会导致vue调试器的显示出错。在vuex中我们可以使用Action来执行异步操作。
操作步骤如下:
打开store.js文件,修改Action,如下:
1 2 3 4 5 6 7 |
|
然后在Addition.vue中给按钮添加事件代码如下:
1 2 3 4 5 6 7 |
|
(4)Getter:用于对Store中的数据进行加工处理形成新的数据。
它只会包装Store中保存的数据,并不会修改Store中保存的数据,当Store中的数据发生变化时,Getter生成的内容也会随之变化。
打开store.js文件,添加getters,如下:
1 2 3 4 5 6 7 8 9 |
|
然后打开Addition.vue中,添加插值表达式使用getters
1 |
|
也可以在Addition.vue中,导入mapGetters,并将之映射为计算属性
1 2 3 4 |
|
相关推荐:
2020年前端vue面试题大汇总(附答案)
vue教程推荐:2020最新的5个vue.js视频教程精选
更多编程相关知识,请访问:编程教学!!
以上就是vuex有什么用?的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
更多相关阅读请进入《vuex》频道 >>
Vue.js 设计与实现 基于Vue.js 3 深入解析Vue.js 设计细节
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者