Vue2面试题:说一下对vuex的理解?

 

    五种状态:

        state: 存储公共数据   this.$store.state

        mutations:同步操作,改变store的数据  this.$store.commit()

        actions: 异步操作,让mutations中的方法能在异步操作中起作用   this.$store.dispatch()

        getters: 计算属性   this.$store.getters

        modules: 子模块 

    使用场景:

        用户信息、菜单信息、购物车信息

    解决vuex页面刷新数据丢失问题的方式:

        办法一:将vuex中的数据直接保存到浏览器缓存中(sessionStorage、localStorage、cookie)   

        办法二:在页面刷新的时候再次请求远程数据,使之动态更新vuex数据   

        办法三:在某一组件向后台请求远程数据保存在vuex,并且在页面刷新前将vuex的数据保存至sessionStorage。在另一组件优先使用vuex内的数据,只有刷新后还没取到后台数据,才会从sessionStorage里取。

            优点:每次刷新页面更新sessionStorage,确保数据的安全性。刷新后还没取到后台数据就从sessionStorage中取,防止网络延迟、数据量大时vuex数据丢失问题。

你可能感兴趣的:(前端面试题合集,前端,javascript,vue.js,css,html)