聊聊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: '/', component: Home , alias: '/home' }, { path: '/news', component: News }, { path: '/user', component: User }, { path: '/newscontent/:aid', 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: '/', component: Home , alias: '/home' }, { path: '/news', component: News }, { path: '/user', component: User }, { path: '/newscontent', 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: '/home' })
如果想要實作get傳值,可以透過下列的方式。
this.$router.push({ path: '/home', query: {aid: 14} }) }
動態路由需要使用下面的這種方式。
this.$router.push({ path: '/home/123', // query: {aid: 14} })
路由模式
Hash模式
#Hash模式的典型特點是頁面路由中含有一個井號。
const router = createRouter({ history: createWebHashHistory(), routes: [ ..., ], })
HTML5 history模式
#引入createWebHistory。
router的設定項目中的history屬性設定為createWebHistory()。
import { createRouter, createWebHistory } from 'vue-router' //配置路由 const router = createRouter({ history: createWebHistory(), routes: [ ... ], })
注意:開啟HTML5 History模式之後,發佈到伺服器需要設定偽靜態。
配置偽靜態的方法:
https://router.vuejs.org/zh/guide/essentials/history-mode.html#後端設定範例
#命名路由
一般情況
#定義路由的時候設定name屬性
##
{ path: '/news', component: News,name:"news" }
- 傳入物件進行跳轉
<router-link :to="{name: 'news'}">新闻</router-link>
#透過GET傳值的方式
- ##定義路由的時候配置name屬性
{ path: '/newscontent', component: NewsContent, name: "content" },
登入後複製
- 傳入包含query的物件
<li v-for="(item, index) in list" :key="index"> <router-link :to="{name: 'content',query: {aid: index}}"> {{item}}</router-link> </li>
登入後複製
- 定義動態路由並指定name屬性
- #
{ path: '/userinfo/:id', name: "userinfo", component: UserInfo }
登入後複製
<router-link :to="{name: 'userinfo',params: {id: 123}}">跳转到用户详情</router-link>
登入後複製編程式路由
#和上面的方式很類似。
路由別名<button @click="this.$router.push({name: 'userinfo',params: {id: 666}})">点击跳转</button>登入後複製路由重定向
{ path: '', redirect: "/home" }, // 路由重定向 { path: '/home', component: Home },登入後複製
下面的這個實例中,存取people這個路由和存取alias這個路由是一致的。
alias也可以是一個陣列。{ path: '/user', component: User, alias: '/people' }登入後複製
動態路由的形式。{ path: '/user', component: User, alias: ['/people','/u']}登入後複製
{ path: '/userinfo/:id', name: "userinfo", component: UserInfo, alias: '/u/:id' }登入後複製巢狀路由
巢狀路由的應用程式場景一般在導覽列上。
定義巢狀路由
{ path: '/user', component: User, children: [ { path: '', redirect: "/user/userlist" }, { path: 'userlist', component: UserList }, { path: 'useradd', component: UserAdd } ] }
登入後複製
- 更多程式相關知識,請造訪:程式設計入門! !
<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中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

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

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

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

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

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

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

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