vue中登录成功跳转列表页,判断localstorge里没值让它返回登录页。

https://img4.mukewang.com/5c8f28630001c3e708000506.jpg

登录成功后提交返回数据到vuex然后保存到localstrage并跳转列表页notelist.vue

https://img4.mukewang.com/5c8f2866000192d607900712.jpg

https://img.mukewang.com/5c8f28660001b3bf04510143.jpg

https://img2.mukewang.com/5c8f286800018a8408000692.jpg

home.vue通过getter获取vuex里的用户名和头像。

https://img.mukewang.com/5c8f286b0001c57607070053.jpg

注销后清空vuex和localstorge,既然没登录那就肯定不能直接输入url访问列表页
所以我再notelist.vue的mounted里加了判断
https://img3.mukewang.com/5c8f286e00013e4004560147.jpg

如果localstorage里没值代表没登录跳转登录页,但是这样写却无效果,不会跳转刷新,并且没登录访问http://localhost:8086/#/notemanager/notelist页面一片空白,请问这是为什么呢?在created钩子里写也是这样。


尚方宝剑之说
浏览 1412回答 2
2回答

互换的青春

建议你在路由跳转的时候做访问控制,这样便于逻辑处理类似于这种写法,写在路由的js里,仅供参考const router = new VueRouter({  // mode: 'history',  routes});router.beforeEach((to, from, next) => {  if (to.matched.some(r => r.meta.requireAuth)) {    if (store.state.token) {      next();    } else {      next({        path: '/login',      })    }  } else {    next();  }})
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript