Vue-router路由判斷頁面未登錄跳轉到登錄頁面的實例
更新時間:2017年10月26日 08:59:46 作者:蓓蕾心晴
下面小編就為大家?guī)硪黄猇ue-router路由判斷頁面未登錄跳轉到登錄頁面的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
如下所示:
router.beforeEach((to, from, next) => {
if (to.matched.some(record => record.meta.requireAuth)){ // 判斷該路由是否需要登錄權限
if (token) { // 判斷當前的token是否存在
next();
}
else {
next({
path: '/login',
query: {redirect: to.fullPath} // 將跳轉的路由path作為參數(shù),登錄成功后跳轉到該路由
})
}
}
else {
next();
}
});
在這之前是給路由加一個meta屬性:
{
path: '/index',
meta: {
title: '',
requireAuth: true, // 添加該字段,表示進入這個路由是需要登錄的
},
}
注意:但是事實是登錄的時候大多數(shù)時候并不進行跳轉,所以這里需要在login跳轉的路徑中再加一段:
if(this.$route.query.redirect){
// let redirect = decodeURIComponent(this.$route.query.redirect);
let redirect = this.$route.query.redirect;
this.$router.push(redirect);
}else{
this.$router.push('/');
}
以上這篇Vue-router路由判斷頁面未登錄跳轉到登錄頁面的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Vue?Router中router.resolve方法使用實例
這篇文章主要給大家介紹了關于Vue?Router中router.resolve方法使用的相關資料,router.resolve方法在前端路由庫中用于解析路由信息,接受路徑或路由對象,返回解析后的?URL、路由和位置對象,需要的朋友可以參考下2024-11-11
解決vue this.$forceUpdate() 處理頁面刷新問題(v-for循環(huán)值刷新等)
這篇文章主要介紹了解決vue this.$forceUpdate() 處理頁面刷新問題(v-for循環(huán)值刷新等),解決方法是使用this.$forceUpdate()強制刷新,文章給大家分享了代碼案例,需要的朋友參考下吧2018-07-07
Vue數(shù)據(jù)雙向綁定的實現(xiàn)方式講解
Vue數(shù)據(jù)雙向綁定原理:Vue內部通過Object.defineProperty方法屬性攔截的方式,把data對象里每個數(shù)據(jù)的讀寫轉化成getter/setter,當數(shù)據(jù)變化時通知視圖更新2022-08-08
Webpack+Vue如何導入Jquery和Jquery的第三方插件
本文主要介紹了Webpack+Vue導入Jquery和Jquery的第三方插件的方法,具有很好的參考價值,下面跟著小編一起來看下吧2017-02-02
使用Pinia Persistedstate插件實現(xiàn)狀態(tài)持久化的操作方法
Pinia 作為 Vue 的新一代狀態(tài)管理工具,以其輕量化和易用性受到開發(fā)者的喜愛,然而,Pinia 默認使用內存存儲狀態(tài),為了解決這個問題,我們可以借助 Pinia Persistedstate 插件來實現(xiàn)狀態(tài)的持久化存儲,本文將詳細介紹該插件的使用方法,需要的朋友可以參考下2024-11-11

