欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue3中vue-router的使用方法詳解

 更新時間:2023年06月18日 15:45:30   作者:Saga?Two  
Vue?Router?是?Vue?的官方路由,它與?Vue.js?核心深度集成,讓用?Vue.js?構建單頁應用變得輕而易舉,本文將通過簡單的示例為大家介紹一下vue-router的使用,需要的可以參考一下

1 介紹

Vue 很適合用來構建單頁面應用。對于大多數(shù)此類應用,都推薦使用官方支持的Vue Router;在單頁面應用(Single-page application)中,客戶端的 JavaScript 可以攔截頁面的跳轉請求,動態(tài)獲取新的數(shù)據(jù),然后在無需重新加載的情況下更新當前頁面。這樣通常可以帶來更順滑的用戶體驗,因為這類場景下用戶通常會在很長的一段時間中做出多次交互。這類的單頁面應用中,路由的更新是在客戶端執(zhí)行的。

Vue Router 是 Vue 的官方路由。它與 Vue.js 核心深度集成,讓用 Vue.js 構建單頁應用變得輕而易舉。功能包括:

  • 嵌套路由映射
  • 動態(tài)路由選擇
  • 模塊化、基于組件的路由配置
  • 路由參數(shù)、查詢、通配符
  • 展示由 Vue.js 的過渡系統(tǒng)提供的過渡效果
  • 細致的導航控制
  • 自動激活 CSS 類的鏈接
  • HTML5 history 模式或 hash 模式
  • 可定制的滾動行為
  • URL 的正確編碼

以下我們來介紹Vue Router的基本使用。

2 Vue Router的使用

2.1 安裝

對于vue3,我們推薦使用vue-router 4.x及以上版本。node環(huán)境安裝如下:

npm install vue-router@4

2.2 引入

在我們工程項目中,路由文件通常需要單獨管理,以便于后續(xù)的使用以及維護。再此基礎下,我們引入分為兩步:

  • 創(chuàng)建統(tǒng)一管理路由入口文件
  • vue項目引入使用路由入口文件

2.2.1 創(chuàng)建路由文件

在與main.ts文件的同級目錄下創(chuàng)建router文件夾,并添加index.ts文件(使用ts,若使用js也同理)。

文件內容如下:

import { createRouter, createWebHistory, RouteRecordRaw } from "vue-router";
import Home from "../views/Home.vue";
// 項目其他頁面路由(推薦使用)
import Practice from "../router/practiceFolder/practice";
// vue項目自帶路由
const routes: Array<RouteRecordRaw> = [
  {
    path: "/",
    name: "Home",
    component: Home
  },
  {
    path: "/about",
    name: "About",
    component: () =>
      import(/* webpackChunkName: "about" */ "../views/About.vue")
  }
];
const routers = [...routes, ...Practice];
const router = createRouter({
  history: createWebHistory(process.env.BASE_URL),
  routes: [...routes, ...Practice]
});
export default router;

其中,使用RouteRecordRaw聲明的對象會被當做路由對象,放入到路由對象池里。

createRouter創(chuàng)建路由;

createWebHistory代表路由使用 HTML5 模式,也是推薦使用的模式;

2.2.2 main.ts 引入

代碼如下:

import { createApp } from "vue";
import App from "./App.vue";
import router from "./router";
import store from "./store";
createApp(App)
  .use(store)
  .use(router)
  .mount("#app");

2.3 使用

2.3.1 router-view使用

入之后我們單頁面應用可以在app.vue配置使用router-view來切換頁面,代碼如下:

<template>
  <router-view v-slot="{ Component }">
  </router-view>
</template>

引入之后,在 Vue 實例中,你可以通過 $router 訪問路由實例,若想要導航到不同的 URL,使用this.$router.push(...)進行跳轉

詳細的router-view使用方法可見vue router-view使用詳解

2.3.2 router-link使用

當使用 <router-link> 時,內部會調用router.push(...)這個方法,所以點擊 <router-link :to="..."> 相當于調用 router.push(...)

2.3.3 在 setup 中訪問路由和當前路由

因為我們在 setup 里面沒有訪問 this,所以我們不能再直接訪問 this.$router 或 this.$route。作為替代,我們使用 useRouter 和 useRoute 函數(shù):

import { useRouter, useRoute } from 'vue-router'
export default {
  setup() {
    const router = useRouter()
    const route = useRoute()
    function pushWithQuery(query) {
      router.push({
        name: 'about',
        query: {
          ...route.query,
        },
      })
    }
  },
}

2.4 其他API

除以上介紹的Vue Router基本API,還有如下API可供使用:

  • NavigationFailureType: 導航失敗類型
  • START_LOCATION: 默認開始位置
  • createMemoryHistory: 使用記憶歷史模式
  • createRouterMatcher:
  • createWebHashHistory: 創(chuàng)建哈希模式
  • createWebHistory: 創(chuàng)建html5模式
  • isNavigationFailure: 導航是否失敗
  • onBeforeRouteLeave: 導航守衛(wèi),setup中使用,在當前位置的組件將要離開時觸發(fā)。
  • onBeforeRouteUpdate: 導航守衛(wèi),setup中使用,在當前位置即將更新時觸發(fā)。
  • parseQuery: 解析query參數(shù)
  • stringifyQuery: 字符串query參數(shù)
  • useLink: 將RouterLink 的內部行為作為一個組合式 API 函數(shù)公開。
  • useRoute: 替代this.$route
  • useRouter: 替代this.$router

本文參考官網(wǎng),進行vue3路由配置實際操作,更加全面的使用請參考官網(wǎng)vue router

到此這篇關于Vue3中vue-router的使用方法詳解的文章就介紹到這了,更多相關Vue3 vue-router內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Vue.js 實現(xiàn)數(shù)據(jù)展示全部和收起功能

    Vue.js 實現(xiàn)數(shù)據(jù)展示全部和收起功能

    這篇文章主要介紹了Vue.js 實現(xiàn)數(shù)據(jù)展示全部和收起功能,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-09-09
  • 在Vue3中創(chuàng)建和使用全局組件的實現(xiàn)方式

    在Vue3中創(chuàng)建和使用全局組件的實現(xiàn)方式

    在前端開發(fā)中,Vue.js 是一個廣泛使用的框架,因其靈活性和強大的功能,得到許多開發(fā)者的喜愛,Vue 3 的發(fā)布為這一框架帶來了很多新的特性和改進,在本文中,我們將詳細討論如何在 Vue 3 中創(chuàng)建和使用全局組件,并通過示例代碼展示具體實現(xiàn)方式,需要的朋友可以參考下
    2024-07-07
  • vue項目打包之后在本地運行的實現(xiàn)方法

    vue項目打包之后在本地運行的實現(xiàn)方法

    這篇文章主要介紹了vue項目打包之后在本地運行的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Vue中點擊url下載文件的案例詳解

    Vue中點擊url下載文件的案例詳解

    這篇文章主要介紹了Vue中點擊url下載文件案例詳解,此文需要注意若是文件的url存在跨域的情況,則可能會下載失敗,因為fetch請求連接后,由于跨域,拿不到資源,也就無法執(zhí)行后續(xù)的操作,此時是失敗的,詳細內容跟隨小編一起看看吧
    2022-04-04
  • 如何在 Vue 中使用 JSX

    如何在 Vue 中使用 JSX

    這篇文章主要介紹了如何在 Vue 中使用 JSX,幫助大家更好的理解和使用vue,感興趣的朋友可以了解下
    2021-02-02
  • vue服務端渲染的實例代碼

    vue服務端渲染的實例代碼

    本篇文章主要介紹了vue服務端渲染的實例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • vue使用axios的小技巧分享

    vue使用axios的小技巧分享

    這篇文章主要為大家詳細介紹了一些vue使用axios的小技巧,文中的示例代碼講解詳細,對我們深入掌握vue有一定的幫助,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-10-10
  • 強制Vue重新渲染組件的5種方法小結

    強制Vue重新渲染組件的5種方法小結

    在開發(fā)Vue.js應用程序時,有時我們需要強制重新渲染組件以確保數(shù)據(jù)和視圖同步,下面就來介紹一下強制Vue重新渲染組件的5種方法,感興趣的可以了解一下
    2025-06-06
  • 使用 JSON.stringify() 列化一個Error

    使用 JSON.stringify() 列化一個Error

    這篇文章主要介紹了使用 JSON.stringify() 列化一個Error,需要的朋友可以參考下
    2023-10-10
  • 如何解決vue2.0下IE瀏覽器白屏問題

    如何解決vue2.0下IE瀏覽器白屏問題

    這篇文章主要介紹了如何解決vue2.0下IE瀏覽器白屏問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09

最新評論