为了账号安全,请及时绑定邮箱和手机立即绑定

vue登陆后页面数据渲染不上,刷新才好,怎么解决?

vue登陆后页面数据渲染不上,刷新才好,怎么解决?

小唯快跑啊 2019-03-20 21:19:54
我在登陆页面登录成功后我把用户信息放到了sessionstorage里,然后跳转到用户页面,里面的组件获取sessionstorage里面的数据然后渲染,但是发现第一次进来时数据并没有渲染上,刷新一次就好了,然后我在登陆后的页面的组件比如nav里面的created和mounted里面打印sessionstorage,发现即使是第一次登陆也能打印出来,但是数据没渲染上,这是怎么回事啊,求解?//这是登录页面的login() {            console.log('登录');            this.$axios                .post('/auth/login', {                    // account: this.tel,                    // password: this.password,                    account: '11111111111',                    password: '111111',                })                .then(res => {                    const o = res.data;                    console.log('ok');                    this.$notify({                        title: '登陆成功',                        message: '欢迎回来',                        type: 'success',                    });                    console.log(o.data);                    sessionStorage.userInfo = JSON.stringify(o.data);                    if (o.data.type == 1) {                        console.log('teacher');                                 this.$router.push({ path: 'teacher' });                    }else{                        this.$router.push({ path: 'agent' });                    }                })                .catch(err => {                    console.log(err);                });        },//这是登陆后的页面的导航头部组件export default {    name: 'teaTopNav',    data() {        return {            userInfo: {},        };    },        created() {        console.log('这是created');        console.log(JSON.parse(sessionStorage.userInfo));    },    mounted() {        console.log('这是mounted');        console.log(JSON.parse(sessionStorage.userInfo));        this.userInfo = this.GLOBAL.USERINFO;        console.log(this.userInfo);    },    computed: {},    methods: {        quit() {            this.$router.push({ path: '/' });        },    },};
查看完整描述

3 回答

?
精慕HU

TA贡献1845条经验 获得超8个赞

试试

this.$set(this, 'userInfo', JSON.parse(sessionStorage.userInfo))


查看完整回答
反对 回复 2019-04-09
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

teaTopNav 的模板贴出来看看


查看完整回答
反对 回复 2019-04-09
?
森林海

TA贡献2011条经验 获得超2个赞

this.userInfo = this.GLOBAL.USERINFO 改成 this.userInfo = JSON.parse(sessionStorage.userInfo)不行么


查看完整回答
反对 回复 2019-04-09
  • 3 回答
  • 0 关注
  • 2940 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信