vuex 的理解
一、 什么是vuex?使用vuex可以解决什么问题?
vuex是 vue提供的一个状态管理工具,
用来存放公共数据,解决组件之间数据共享的问题,使任何组件都可以使用vuex里的公共数据
二、 vuex的五大核心是什么?
- state 存储数据
- mutations 状态修改器 (修改state内的数据)
严格模式下(strict:true
)唯一可以修改state的数据的- actions 异步 (可以调用一些请求/定时器 等异步操作)
- getters 计算属性
- modules 模块化 (针对大型项目)
三、在组件里面如何调用五大核心的属性和方法?
- state
this.$store.state
- mutations
this.$store.commit("修改器方法名",数据)
- actions
this.$store.dispatch("异步方法名",数据)
- getters
this.$store.getters
四、 vuex的执行机制是什么?
在项⽬中,若要改变 state 的状态,我们⼀般是在组件⾥⾯调⽤
this.$store.dispatch
⽅式,来触发在 actions ⾥⾯的⽅法, 在 actions中通过 commit 来调⽤ mutations 中定义的⽅法来改变 state,同时这也是 vuex 的执⾏机制
五、 vuex有什么弊端?如何解决?
弊端: 刷新数据不保存
解决:1. 本地存储
2.使用vuex的持久化插件 (vuex-persistedstate、vuex-persisted)
六、 vuex中的modules的应用
作用:把仓库里的数据分模块管理
每个模块里又有四个核心: state mutations getters actions
之后引入仓库 并在 modules 下注册模块
在定义的 modules 里开启一个命名:namespaced:true