需求说明:
由于token,id等参数需要在不同组件中使用。登录成功后,需要保存token,id等参数在store.js中,通过store实现传值。
解决方法:
【说明:以下方案存在问题:当页面刷新后,vuex中的数据被初始化,导致vuex的state丢失。解决方法:
vue----sessionStorage保存用户登录数据,解决vuex在页面刷新之后状态丢失问题】
(1)vuex安装:【npm install vuex --save】
(2)创建store:在项目【src】目录下新建文件夹【store】及【store】下新建文件【index.js】。初始化state对象,getters,mutations,actions。在state中定义需要从登录成功后后台返回数据获取的参数。
(3)在【main.js】中注册store
(4)在登录组件中导入state【import { mapState } from "vuex";】,在登录组件的computed中通过【...mapState(["token"], ["loginUserId"])】获取状态对象,在登录成功返回数据中获取参数【this.$store.state.token = res.data.result.accessToken;】
(5)在其他组件中调用参数