目錄
路由的基本設定
動態路由的設定
路由編程式導覽(JS跳轉路由)
路由模式
Hash模式
HTML5 history模式
#命名路由
一般情況
#透過GET傳值的方式
#和上面的方式很類似。
下面的這個實例中,存取people這個路由和存取alias這個路由是一致的。
巢狀路由的應用程式場景一般在導覽列上。
首頁 web前端 Vue.js 聊聊Vue3中路由,淺析路由配置方式

聊聊Vue3中路由,淺析路由配置方式

Dec 21, 2021 am 10:35 AM
vue3 路由 路由配置

這篇文章帶大家了解Vue3中路由,聊聊路由的基本設定、動態路由的設定、路由模式、路由重新導向等,希望對大家有幫助。

聊聊Vue3中路由,淺析路由配置方式

【相關推薦:《vue.js教學》】

路由的基本設定

#1、安裝外掛程式

npm install vue-router@next --save
登入後複製

2、建立一個routers.ts檔案

3、在routers.ts中引入元件並配置路徑。

import { createRouter,createWebHashHistory } from 'vue-router';
// 引入组件
import Home from './components/Home.vue';
import News from './components/News.vue';
import User from './components/User.vue';

const router = createRouter({
  history: createWebHashHistory(),
  routes: [
    {path: '/', component: Home},
    {path: '/news', component: News},
    {path: '/user', component: User},
  ]
})

export default router;
登入後複製

4、在main.ts中將路由檔案掛載到vue身上。

import { createApp } from 'vue'
import App from './App.vue'
import routers from './routers';

// createApp(App).mount('#app')

const app = createApp(App);
app.use(routers);
app.mount('#app');
登入後複製

5、用到路由的元件通過router-view元件或router-link

<template>
  <img alt="Vue logo" src="./assets/logo.png">
  <ul>
    <li>
      <router-link to="/">首页</router-link>
    </li>
    <li>
      <router-link to="/news">新闻</router-link>
    </li>
    <li>
      <router-link to="/user">用户</router-link>
    </li>
  </ul>

  <router-view></router-view>
</template>
登入後複製

掛載router-link後,只需要在元件對應的頁面路徑上輸入指定路由即可完成跳轉,router-link則實現a標籤進行跳轉的形式路由。

動態路由的設定

在routes.ts中依照下面的方式進行設定路由,透過/:aid的方式來進行動態路由的設定。

//配置路由
const router = createRouter({

    history: createWebHashHistory(),
    routes: [
        { path: &#39;/&#39;, component: Home , alias: &#39;/home&#39; },
        { path: &#39;/news&#39;, component: News },
        { path: &#39;/user&#39;, component: User },
        { path: &#39;/newscontent/:aid&#39;, component: NewsContent },
    ], 
})
登入後複製

透過router-link進行跳轉的時候,需要模板字串和冒號+to。

<ul>
    <li v-for="(item, index) in list" :key="index">
        <router-link  :to="`/newscontent/${index}`"> {{item}}</router-link>
    </li>
</ul>
登入後複製

透過this.$route.params取得動態路由傳過來的值。

mounted(){
    // this.$route.params 获取动态路由的传值
    console.log(this.$route.params)
}
登入後複製

如果我們想要實作類似與GET傳值,我們可以透過下面的方式

1、將路由配置為普通路由。

const router = createRouter({

    history: createWebHashHistory(),
    routes: [
        { path: &#39;/&#39;, component: Home , alias: &#39;/home&#39; },
        { path: &#39;/news&#39;, component: News },
        { path: &#39;/user&#39;, component: User },
        { path: &#39;/newscontent&#39;, component: NewsContent },
    ], 
})
登入後複製

2、router-link透過問號的形式進行跳躍。

<router-link  :to="`/newscontent?aid=${index}`"> {{item}}</router-link>
登入後複製

3、透過this.$route.query取得到get傳值。

console.log(this.$route.query);
登入後複製

路由編程式導覽(JS跳轉路由)

只需要透過this.$router.push進行指定即可。

  this.$router.push({
    path: &#39;/home&#39;
  })
登入後複製

如果想要實作get傳值,可以透過下列的方式。

this.$router.push({
    path: &#39;/home&#39;,
    query: {aid: 14}
  })
}
登入後複製

動態路由需要使用下面的這種方式。

  this.$router.push({
    path: &#39;/home/123&#39;,
    // query: {aid: 14}
  })
登入後複製

路由模式

Hash模式

#Hash模式的典型特點是頁面路由中含有一個井號。

const router = createRouter({

    history: createWebHashHistory(),
    routes: [
        ...,
    ], 
})
登入後複製

HTML5 history模式

  • #引入createWebHistory。

  • router的設定項目中的history屬性設定為createWebHistory()。

import { createRouter, createWebHistory } from &#39;vue-router&#39;

//配置路由
const router = createRouter({
    history: createWebHistory(),
    routes: [
        ...
    ], 
})
登入後複製

注意:開啟HTML5 History模式之後,發佈到伺服器需要設定偽靜態。

配置偽靜態的方法:

https://router.vuejs.org/zh/guide/essentials/history-mode.html#後端設定範例

#命名路由

一般情況

  • #定義路由的時候設定name屬性

  • ##
    { path: &#39;/news&#39;, component: News,name:"news" }
    登入後複製
  • 傳入物件進行跳轉

  • <router-link :to="{name: &#39;news&#39;}">新闻</router-link>
    登入後複製

#透過GET傳值的方式

    ##定義路由的時候配置name屬性
  • { path: &#39;/newscontent&#39;, component: NewsContent, name: "content" },
    登入後複製
    傳入包含query的物件
  • <li v-for="(item, index) in list" :key="index">
        <router-link  :to="{name: &#39;content&#39;,query: {aid: index}}"> {{item}}</router-link>
    </li>
    登入後複製
透過動態路由的方式

    定義動態路由並指定name屬性
  • #
    { path: &#39;/userinfo/:id&#39;, name: "userinfo", component: UserInfo }
    登入後複製
##傳入包含params的對象
  • <router-link :to="{name: &#39;userinfo&#39;,params: {id: 123}}">跳转到用户详情</router-link>
    登入後複製

  • 編程式路由

#和上面的方式很類似。

<button @click="this.$router.push({name: &#39;userinfo&#39;,params: {id: 666}})">点击跳转</button>
登入後複製

路由重定向

{ path: &#39;&#39;, redirect: "/home" },   // 路由重定向
{ path: &#39;/home&#39;, component: Home },
登入後複製
路由別名

下面的這個實例中,存取people這個路由和存取alias這個路由是一致的。

{ path: &#39;/user&#39;, component: User, alias: &#39;/people&#39; }
登入後複製

alias也可以是一個陣列。
{ path: &#39;/user&#39;, component: User, alias: [&#39;/people&#39;,&#39;/u&#39;]}
登入後複製

動態路由的形式。
{ path: &#39;/userinfo/:id&#39;, name: "userinfo", component: UserInfo, alias: &#39;/u/:id&#39; }
登入後複製

巢狀路由

巢狀路由的應用程式場景一般在導覽列上。

定義巢狀路由
  • {
      path: &#39;/user&#39;, component: User,
      children: [
        { path: &#39;&#39;, redirect: "/user/userlist" },
        { path: &#39;userlist&#39;, component: UserList },
        { path: &#39;useradd&#39;, component: UserAdd }
      ]
    }
    登入後複製

router-link與router-view搭配顯示內容
  • <div class="left">
      <ul>
        <li>
          <router-link to="/user/userlist">用户列表</router-link>
        </li>
        <li>
          <router-link to="/user/useradd">增加用户</router-link>
        </li>
      </ul>
    </div>
    <div class="right">
      <router-view></router-view>
    </div>
    登入後複製
    更多程式相關知識,請造訪:程式設計入門! !

    以上是聊聊Vue3中路由,淺析路由配置方式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1665
14
CakePHP 教程
1423
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
在Slim框架中實作API路由的方法 在Slim框架中實作API路由的方法 Aug 02, 2023 pm 05:13 PM

在Slim框架中實作API路由的方法Slim是一款輕量級的PHP微型框架,它提供了一個簡單且靈活的方式來建立Web應用程式。其中一個主要功能是實作API路由,使我們能夠將不同的請求對應到對應的處理程序。本文將介紹如何在Slim框架中實作API路由,並提供一些程式碼範例。首先,我們需要安裝Slim框架。可以透過Composer來安裝最新版本的Slim。打開終端機並

Java Apache Camel:打造靈活且有效率的服務導向架構 Java Apache Camel:打造靈活且有效率的服務導向架構 Feb 19, 2024 pm 04:12 PM

ApacheCamel是一個基於企業服務匯流排(ESB)的整合框架,它可以輕鬆地將不同的應用程式、服務和資料來源整合在一起,從而實現複雜的業務流程自動化。 ApacheCamel使用基於路由的設定方式,可以輕鬆定義和管理整合流程。 ApacheCamel的主要特點包括:靈活性:ApacheCamel可以輕鬆地與各種應用程式、服務和資料來源整合。它支援多種協議,包括Http、JMS、SOAP、FTP等。高效性:ApacheCamel非常高效,它可以處理大量的訊息。它使用非同步訊息傳遞機制,可以提高效能。可擴

如何在ThinkPHP6中使用路由 如何在ThinkPHP6中使用路由 Jun 20, 2023 pm 07:54 PM

ThinkPHP6是一款強大的PHP框架,具有便利的路由功能,可輕鬆實現URL路由配置;同時,ThinkPHP6也支援多種路由模式,如GET、POST、PUT、DELETE等等。本文將介紹如何使用ThinkPHP6進行路由設定。一、ThinkPHP6路由模式GET方式:GET方式是用來取得資料的一種方式,常用於頁面展示。在ThinkPHP6中,可以使用如下

如何在Vue專案中使用路由實現頁面切換動畫效果的客製化? 如何在Vue專案中使用路由實現頁面切換動畫效果的客製化? Jul 21, 2023 pm 02:37 PM

如何在Vue專案中使用路由實現頁面切換動畫效果的客製化?引言:在Vue專案中,路由是我們常用的功能之一。透過路由可以實現頁面之間的切換,提供了良好的使用者體驗。而為了讓頁面切換更加生動,我們可以透過客製化動畫效果來實現。本文將介紹如何在Vue專案中使用路由實現頁面切換動畫效果的客製化。建立Vue專案首先,我們需要建立一個Vue專案。可以使用VueCLI來快速搭建

vue3的生命週期有哪些 vue3的生命週期有哪些 Feb 01, 2024 pm 04:33 PM

vue3的生命週期:1、beforeCreate;2、created;3、beforeMount;4、mounted;5、beforeUpdate;6、updated;7、beforeDestroy;8、destroyed;9、activated;10、deactivated;11、errorCaptured;12 、getDerivedStateFromProps 等等

PHP中靈活配置路由規則的實作方法與經驗總結 PHP中靈活配置路由規則的實作方法與經驗總結 Oct 15, 2023 pm 03:43 PM

PHP中靈活配置路由規則的實作方法和經驗總結引言:在Web開發中,路由規則是非常重要的一部分,它決定了URL與特定的PHP腳本的對應關係。在傳統的開發方式中,我們通常會在路由檔案中設定各種URL規則,然後將URL與對應的腳本路徑進行對應。但是,隨著專案的複雜度增加和業務需求的變化,如果每個URL都需要手動配置,將會變得非常麻煩且不靈活。那麼,在PHP中如何實

使用JavaScript函數實現網頁導航和路由 使用JavaScript函數實現網頁導航和路由 Nov 04, 2023 am 09:46 AM

在現代Web應用程式中,實現網頁導航與路由是十分重要的一環。利用JavaScript的函數來實現這個功能,可以讓我們的網路應用程式更加靈活、可擴展且使用者友好。本文將介紹如何使用JavaScript函數來實現網頁導航和路由,並提供具體的程式碼範例。實現網頁導航對於一個Web應用程式而言,網頁導航是使用者操作最頻繁的一個部分。當使用者點擊頁面上的

如何在Vue中使用路由實現頁面跳轉? 如何在Vue中使用路由實現頁面跳轉? Jul 21, 2023 am 08:33 AM

如何在Vue中使用路由實現頁面跳轉?隨著前端開發技術的不斷發展,Vue.js已經成為了目前最熱門的前端框架之一。而在Vue開發中,實現頁面跳躍是不可或缺的一部分。 Vue提供了VueRouter來管理應用的路由,透過路由可以實現頁面之間的無縫切換。本文將介紹如何在Vue中使用路由實現頁面跳轉,並附有程式碼範例。首先,在Vue專案中安裝vue-router插件。

See all articles