Vue路由守衛之路由獨享守衛

来源:https://www.cnblogs.com/webfy/archive/2019/09/13/11516251.html
-Advertisement-
Play Games

​ 路由獨立守衛,顧名思義就是這個路由自己的守衛任務,就如同咱們LOL,我們守衛的就是獨立一條路,保證我們這條路不要被敵人攻剋(當然我們也得打團配合) 在官方定義是這樣說的:你可以在路由配置上直接定義 beforeEnter 守衛,這些守衛與全局前置守衛的方法參數是一樣的。 參數如下: 我們在這裡使 ...


路由獨立守衛,顧名思義就是這個路由自己的守衛任務,就如同咱們LOL,我們守衛的就是獨立一條路,保證我們這條路不要被敵人攻剋(當然我們也得打團配合)

 

在官方定義是這樣說的:你可以在路由配置上直接定義 beforeEnter 守衛,這些守衛與全局前置守衛的方法參數是一樣的。

const router = new VueRouter({
  routes: [
    {
      path: '/foo',
      component: Foo,
      beforeEnter: (to, from, next) => {
        // ...
      }
    }
  ]
})

 

參數如下:

beforeEnter(to,from,next)
//  to    要進入的目標,路由對象
//  from  當前導航正要離開的路由
//  next  初步認為是展示頁面;(是否顯示跳轉頁面)
​
next()//直接進to 所指路由
next(false) //中斷當前路由
next('route') //跳轉指定路由
next('error') //跳轉錯誤路由

  

        我們在這裡使用使用一個案例來演示它的用法;案例中獨立路由單獨檢測是否在登入狀態,在沒有登錄的情況下彈到登錄界面,和全局登錄效果一致,只不過只保留了自己;

import Vue from 'vue';
import VueRouter from 'vue-router';
Vue.use(VueRouter);
​
import Index from './Index/Index.vue'
​
import AA from './views/AA.vue'
import DD from './views/DD.vue'
import EE from './views/EE.vue'
export default {
    routes: [
        {
            path: '/',
            component: Index,
            name: 'index',
            children: [
                {
                    path: 'AA',
                    component: AA,
                    name: 'aa',
                    beforeEnter: (to, from, next) => {
                        if (to.path == '/DD') {
                            next()
                        } else {
                            alert('請登入');
                            next('/DD')
                        }
​
                    }
                }, {
                    path: 'DD',
                    component: DD,
                    name: 'dd'
                },
                {
                    path: 'EE',
                    component: EE,
                    name: 'ee'
                },
​
            ]
        }
    ]
}
​
​

 

     為大家附上源碼地址https://gitee.com/web94/vueluyouduxiangshouwei

 

        如果覺得不錯請點點手指,關註下我們公眾號,我們會長期為您分享前端知識點;

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 桌面指令(cmd)進入mysql客戶端 第一步:安裝mysql,配置環境變數 第二步:手動開啟服務 第三步:輸入如下指令: mysql 【-h localhost -P 3306】 -u 用戶名 -p 密碼 相關指令知識: use car; 使用某庫 show databases/ tables; ...
  • 1.確保系統中有依賴的libaio 軟體,如果沒有: yum -y install libaio 2.解壓二進位MySQL軟體包 tar xf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz -C /usr/local 3.進入/usr/local cd /us ...
  • “處理指令(PIs)允許文檔包含用於應用程式的指令。指令並不是文檔字元數據的一部分,但是必須通過應用程式傳遞”。 處理指令可以用於將信息傳遞給應用程式。處理指令可以出現在文檔任意位置的標記外部。可以出現在序言中,包括文檔的類型定義(DTD),文本內容或者文檔之後。 處理指令,允許文檔中包含由應用程式 ...
  • 數據交互是前端很重要的一部分,靜態頁是基礎,而交互才是網頁的精髓。交互又分為人機交互和前後端數據交互,現階段的互聯網下,大部分的網站都要進行前後端數據交互,如何交互呢?交互的流程大概就是前端發送數據給後端,後端接送數據,進行處理,將處理後的結果發送給前端,前端接受數據。前端和後端的收和發通過什麼呢? ...
  • 結構元素不具有任何樣式,只是使頁面元素的的語義更加明確。 header元素 header元素是一種具有引導和導航作用的的結構元素, 該元素可以包含所有通常放在頁面頭部的內容 。header元素通常用來放置整個頁面或頁面內的一個內容區塊的標題,也可以包含網站Logo圖片、搜索表單或者其他相關內容。 一 ...
  • js由三部分組成,分別是ECMAScript、DOM、BOM 其中ECMAScript規定了js的語法 js是一門解釋型語言、腳本語言、動態類型語言、基於對象語言 書寫js代碼和CSS一樣,有三個書寫的地方,第一個是使用<script>標簽,再<sccript>標簽中書寫js代碼,標簽一般都在bod ...
  • 如果您的瀏覽器支持 XSLT,那麼在瀏覽器中它可被用來將文檔轉換為 XHTML。 如果您的瀏覽器支持 XSLT,那麼在瀏覽器中它可被用來將文檔轉換為 XHTML。 JavaScript 解決方案 在前面的章節,我們已向您講解如何使用 XSLT 將某個 XML 文檔轉換為 XHTML。我們是通過以下途 ...
  • 一、html語言概述 超文本標記語言(英語:HyperText Markup Language,簡稱:HTML)是一種用於創建網頁的標準標記語言。 您可以使用 HTML 來建立自己的 WEB 站點,HTML 運行在瀏覽器上,由瀏覽器來解析。 二、目前瀏覽器內核(瞭解): 三、HTML 初體驗 上述實 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...