actions
-
因为mutations是不能够操作异步代码的,所以vuex提供了actions来让我们进行异步的操作,但是要注意的是,actions不能够操作state中的数据,有且只有mutations才能够操作state中的数据
-
在组件中使用this.$store.dispatch(‘方法名’) 这里的方法名是actions中的方法
-
也可以使用vuex提供的mapActions方法
getters
-
getters是我们用于修饰state中的数据的方法,和computed的性值很类似
-
getter的方法 我们要修饰成什么样 就retun出什么样的值即可
-
在组件中可以使用this.$store.getters.方法名 也可以使用vuex提供的mapGetters函数
-
mapGetters函数是放在组件中的computed计算属性中
因为vuex涉及到的方法和组件中使用的方法名是很多的,我们只需要记住以下
-
mutations ---- this.$store.commit() mapMutations
-
actions ---- this.$store.dispatch() mapActions
-
getters – this.$store.getters() mapGetter
解决vuex数据刷新一下就消失问题
Vuex的机制就是,当页面一刷新,数据就消失,原因是vuex数据可以理解成是存在内存里面的,页面刷新相当于重新分配内存,所以数据也会消失(不知道这样理解对不对),所以解决这个有以下的几种方法
- 将数据备份一份在locoalStroage…等等浏览器本地缓存中
- 最简单的方式是使用
vue-savedata
插件,可以让我们vuex中的数据一直保持缓存的状态,就算页面刷新也不会丢失,最推荐的就是这个做法
最后
正值招聘旺季,很多小伙伴都询问我有没有前端方面的面试题!
ic_center)
最后
正值招聘旺季,很多小伙伴都询问我有没有前端方面的面试题!