亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Vue3路由組件內(nèi)的路由守衛(wèi)onBeforeRouteLeave和onBeforeRouteUpdate使用

 更新時間:2024年05月08日 10:39:16   作者:NorthCastle  
這篇文章主要介紹了Vue3路由組件內(nèi)的路由守衛(wèi)onBeforeRouteLeave和onBeforeRouteUpdate使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

簡介

組件內(nèi)的路由守衛(wèi),實際上就是兩個 API 方法。

他們與普通的守衛(wèi)不同的是 : 他們是寫在組件內(nèi)的,在組件中監(jiān)聽路由的變化,不是全局的,比較靈活。

以下是兩個 API 的功能說明:

  • onBeforeRouteLeave() : 守衛(wèi)在當前路由離開時觸發(fā),例如 :從 /c 跳轉(zhuǎn)到 /a
  • onBeforeRouteUpdate(): 守衛(wèi)在當前路由發(fā)生改變時觸發(fā),例如 : 從 /c/100 跳轉(zhuǎn)到 /c/200

案例

本案例演示上述兩個 API 的基本使用,沒有太多的邏輯操作。

路由配置

// 導(dǎo)入 定義路由的兩個方法
import {createRouter,createWebHistory}  from 'vue-router'

// 引入組件
import componentA from "./componentA.vue";
import componentC from "./componentC.vue";

// 聲明路由跳轉(zhuǎn)的路徑與組件的對應(yīng)關(guān)系
const routsList = [
    {path:'/a',name:'aroute',component:componentA},
    {
        path:'/c/:id',
        name:'croute',
        component:componentC
    }

]

// 創(chuàng)建路由的實例對象
const routerConfigObj = createRouter({
    history:createWebHistory('abc'), // 帶一個參數(shù),表示是路由的一個前綴
    routes:routsList // 指定路由的配置列表
})

// 導(dǎo)出路由的對象
export default routerConfigObj;

組件C 中的API 使用代碼(核心)

<template>
    <div class="divb">
        這是組件C 
        <br>
        <button @click="goToA">跳轉(zhuǎn)到組件a</button>
        <br>
        <button @click="goToC200">更新到組件c200</button>
    </div>
    
</template>

<script setup lang="ts">

    // 引入路由相關(guān)的 API
    import {useRouter} from 'vue-router';

    // 聲明 路由對象和當前路由對象
    const routeObj = useRouter()

    // 點擊按鈕,跳轉(zhuǎn)到組件a
    const goToA = ()=>{
        routeObj.push({
            path:'/a'
        })
    }

    // 更新到組件c 200
    const goToC200 = ()=>{
        routeObj.push({
            path:'/c/200'
        })
    }


    // 導(dǎo)入兩個組件內(nèi)的路由守衛(wèi)API
    import { onBeforeRouteLeave,onBeforeRouteUpdate } from 'vue-router';

    // 路由離開時的操作
    onBeforeRouteLeave((to,from)=>{
        console.log('組件c : onBeforeRouteLeave - to :',to);
        console.log('組件c : onBeforeRouteLeave - from :',from);
        alert('當前內(nèi)容未保存,是否繼續(xù)離開?')
    })


     // 路由更新時的操作
     onBeforeRouteUpdate((to,from)=>{
        console.log('組件c : onBeforeRouteUpdate - to :',to);
        console.log('組件c : onBeforeRouteUpdate - from :',from);
        alert('即將跳轉(zhuǎn)到 /c/200,請稍等')
    })

</script>

<style scoped>
    .divb{
        width: 200px;
        height: 100px;
        background: rgb(23, 177, 182);
    }
</style>

運行效果1:路由跳轉(zhuǎn)

運行效果2:路由更新

總結(jié)

以上就是 組合式API 中的 兩個組件內(nèi)的 路由守衛(wèi)的操作。

這些僅為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue如何動態(tài)獲取當前時間

    vue如何動態(tài)獲取當前時間

    這篇文章主要介紹了vue如何動態(tài)獲取當前時間問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 使用vant-uploader上傳照片無法刪除的解決

    使用vant-uploader上傳照片無法刪除的解決

    這篇文章主要介紹了使用vant-uploader上傳照片無法刪除的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • vue實現(xiàn)列表垂直無縫滾動

    vue實現(xiàn)列表垂直無縫滾動

    這篇文章主要為大家詳細介紹了vue實現(xiàn)列表垂直無縫滾動,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • vue處理emoji表情占位符的操作方法

    vue處理emoji表情占位符的操作方法

    在計算字符數(shù)時,一般情況下,英文字符、數(shù)字和大部分符號都可以被視為占一個字符長度,因為它們是單個字節(jié),然而,對于某些特殊字符,如表情符號和部分非英文字符,會被認為占據(jù)了多個字符長度,本文給介紹了vue處理emoji表情占位符的操作方法,需要的朋友可以參考下
    2024-06-06
  • 前端vue如何使用pptxgen.js導(dǎo)出PPT

    前端vue如何使用pptxgen.js導(dǎo)出PPT

    最近公司項目有個導(dǎo)出ppt的功能,在使用ppexgen.js一周完成功能之后,這篇文章主要給大家介紹了關(guān)于前端vue如何使用pptxgen.js導(dǎo)出PPT的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • vue3.0 加載json的方法(非ajax)

    vue3.0 加載json的方法(非ajax)

    這篇文章主要介紹了vue3.0 加載json的方法(非ajax),幫助大家更好的理解和學(xué)習vue,感興趣的朋友可以了解下
    2020-10-10
  • 詳解element-ui級聯(lián)菜單(城市三級聯(lián)動菜單)和回顯問題

    詳解element-ui級聯(lián)菜單(城市三級聯(lián)動菜單)和回顯問題

    這篇文章主要介紹了詳解element-ui級聯(lián)菜單(城市三級聯(lián)動菜單)和回顯問題,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2019-10-10
  • vue通過element樹形控件實現(xiàn)樹形表格

    vue通過element樹形控件實現(xiàn)樹形表格

    這篇文章主要為大家介紹了vue?element樹形控件實現(xiàn)樹形表格,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • vue-router二級導(dǎo)航切換路由及高亮顯示的實現(xiàn)方法

    vue-router二級導(dǎo)航切換路由及高亮顯示的實現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于vue-router二級導(dǎo)航切換路由及高亮顯示的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家學(xué)習或者使用Vue具有一定的參考學(xué)習價值,需要的朋友們下面來一起學(xué)習學(xué)習吧
    2019-07-07
  • vue select 獲取value和lable操作

    vue select 獲取value和lable操作

    這篇文章主要介紹了vue select 獲取value和lable操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08

最新評論