Vuex有哪些属性
state =》 全局属性
getter =》 针对于state数据进行计算 相当于computed
mutations =》 存放同步方法的
actions =》 存放异步方法,并且提交给mutations
modules =》 把vuex再次进行模块拆分
Vuex使用State值
this.$store.state.xxx
辅助方法:mapState,通过vuex局部导入,使用方法:
在computed中用展开运算符 ...mapState(['xxx'])
以上两点都能拿到state的值,区别是什么?
通过this.$store.state.xxx 可以直接修改state的值
但是通过辅助函数则不能,因为mapState相当于复制了一份,相当于映射了一份,并不能直接修改state
Vuex的getter值修改
getter是不能修改的
Vuex的mutations和actions的区别
相同:mutations和actions都是存放全局方法的
区别:
mutations执行同步方法,返回值是一个对象
actions是异步,返回一个promise
总结:mutations是用来修改state数据的,actions是用来提交mutations的
Vuex持久化存储
Vuex本身不是持久化存储的数据。
如果要实现vuex的持久化存储:
1.自己写localstorage;
2.使用插件vuex-persistedstate