Vue?3?中使用?vue-router?進行導航與監(jiān)聽路由變化的操作
一、使用 useRouter 進行導航
在 Vue 3 組件中,你可以使用 useRouter 來方便地進行頁面導航。以下是一個簡單的示例:
<template>
<button @click="navigateToHome">跳轉(zhuǎn)到首頁</button>
</template>
<script setup>
import { useRouter } from 'vue-router';
const router = useRouter();
const navigateToHome = () => {
router.push({ name: 'home' }); // 假設(shè)你已定義了名為 'home' 的路由
};
</script>二、監(jiān)聽路由變化
有時我們需要在路由發(fā)生變化時執(zhí)行某些操作,例如顯示或隱藏某些元素。Vue 3 提供了 useRoute 來獲取當前的路由狀態(tài),并使用 watch 來監(jiān)聽路由的變化。以下是一個示例:
<template>
<div v-if="isShow">這是新增頁面</div>
</template>
<script setup>
import { useRoute, watch } from 'vue-router';
import { ref } from 'vue';
const route = useRoute();
const isShow = ref(false);
watch(() => route.name, val => {
if (val === 'newPage') {
isShow.value = true;
} else {
isShow.value = false;
}
});
</script>總結(jié)
通過上述代碼,你可以:
使用 useRouter 進行導航:
- 導入
useRouter。 - 使用
router.push方法進行頁面跳轉(zhuǎn)。
監(jiān)聽路由變化:
- 導入
useRoute和watch。 - 使用
watch監(jiān)聽route.name的變化,并根據(jù)當前路由名稱來更新組件狀態(tài)。
到此這篇關(guān)于Vue 3 中使用 vue-router 進行導航與監(jiān)聽路由變化的文章就介紹到這了,更多相關(guān)Vue 3導航與監(jiān)聽路由變化內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue3路由中path與redirect 的區(qū)別、使用場景及應(yīng)用分析
在 Vue 3 的路由系統(tǒng)(Vue Router 4)中,path 和 redirect 是兩個重要的概念,它們在路由配置中扮演著不同的角色,本教程將詳細介紹它們的區(qū)別、使用場景以及實際應(yīng)用示例,感興趣的朋友一起看看吧2025-11-11
簡單實現(xiàn)vue中的依賴收集與響應(yīng)的方法
這篇文章主要介紹了簡單實現(xiàn)vue中的依賴收集與響應(yīng)的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-02-02
vue中html2canvas給指定區(qū)域添加滿屏水印
本文主要介紹了vue中html2canvas給指定區(qū)域添加滿屏水印,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-11-11
Vue3中element-plus全局使用Icon圖標的過程詳解
我們在用vue開發(fā)網(wǎng)站的時候,往往圖標是起著很重要的作,這篇文章主要給大家介紹了關(guān)于Vue3中element-plus全局使用Icon圖標的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-01-01
vue前端優(yōu)雅展示后端十萬條數(shù)據(jù)面試點剖析
這篇文章主要為大家介紹了vue前端優(yōu)雅展示后端十萬條數(shù)據(jù)的考點剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-07-07
Vue 中 template 有且只能一個 root的原因解析(源碼分析)
這篇文章主要介紹了Vue 中 template 有且只能一個 root的原因解析,本文從源碼角度分析給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04

