目錄
vue動態路由是什麼意思
動態路由的理解" >動態路由的理解
動態路由的設定" >動態路由的設定
params方式的傳參
query方式的傳參
首頁 web前端 Vue.js vue動態路由是什麼意思

vue動態路由是什麼意思

Mar 16, 2022 am 10:14 AM
vue

在vue中,動態路由就是將匹配某種模式下的路由映射到同一個元件中,動態路由的本質就是透過url進行傳參;可以透過「params」和「query」兩種方式來傳遞動態參數。

vue動態路由是什麼意思

本文操作環境:windows10系統、Vue2.9.6版,DELL G3電腦。

vue動態路由是什麼意思

動態路由的理解

#動態路由就是把符合某種模式下的路由對應到同一個元件中,其實本質就是透過url進行傳參

比如說:有一個商品Goods的元件,我們需要讓不同的商品id都映射到這個元件中,此時就需要用到動態路由了。

動態路由的設定

可以透過兩種方式來傳遞動態參數:
(1)、params
(2)、query

注意:以下程式碼的示範都是在history的路由模式下

params方式的傳參

配置路由的方式:使用冒號:綁定動態參數。

//index.js中配置路由信息
const routes = [{
    path: '/goods/:id',
    component: Goods}]

路由跳轉時,分為:

(1)使用router-link方式實現路由跳轉
此種方式下,一可以使用字串,在路徑後面直接跟上對應的值,如:
vue動態路由是什麼意思
二可以使用物件的方式,如:
vue動態路由是什麼意思
注意:

  • params方法中,to屬性使用物件的方式,必須由name屬性引入路由,不能用path。
  • params方法傳參時,屬性名必須跟配置路由時的動態參數名稱一致,否則報錯。
    (2)、使用$router的方式進行路由的跳轉
//方法1
 this.$router.push('/goods/' + this.goodsId)
 //方法2
 this.$router.push({
   name: 'goods',
   params: {
     id: this.goodsId   }})

params方式的傳參,對應傳參後的url位址如下:
vue動態路由是什麼意思
取得參數的方式:
$router.params,如本例中想要取得id的值,對應程式碼為:

$route.params.id
query方式的傳參

配置路由時,普通配置即可,也就是原來怎麼配置路由,現在就還怎麼配置。如:

const routes = [{
    path: '/goods',
    name: 'goods',
    component: Goods}]

路由跳轉時,分為:
(1)使用router-link方式實現路由跳轉
query傳參的方式只可以透過對象,不可以使用字串

<router-link>商品</router-link>

(2)、使用$router的方式進行路由的跳轉

this.$router.push({
       path: '/goods',
       query: {
         id: this.goodsId       }
     })
this.$router.push({
       path: '/goods',
       query: {
         id: this.goodsId       }
     })

query方式的傳參,對應傳參後的url位址顯示為:
vue動態路由是什麼意思
# 注意:query方式的傳參,query物件裡面的屬性名(如本例中的id)可以隨便取名,不像params方式傳參時受限。
同時,此種方式下路由的引進既可以使用path屬性,也可以使用name屬性。
取得參數的方式:
$route.query,如本例想要取得id 值,程式碼為:

$route.query.id

總之,千萬要注意:
(1)、 params方式路由的引進只能用name,query方式路由的引進可以用name和path。
(2)、路由跳轉使用 「router」;取得參數使用「route」

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

以上是vue動態路由是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

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

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Laravel 教程
1602
29
PHP教程
1504
276
怎樣開發一個完整的PythonWeb應用程序? 怎樣開發一個完整的PythonWeb應用程序? May 23, 2025 pm 10:39 PM

要開發一個完整的PythonWeb應用程序,應遵循以下步驟:1.選擇合適的框架,如Django或Flask。 2.集成數據庫,使用ORM如SQLAlchemy。 3.設計前端,使用Vue或React。 4.進行測試,使用pytest或unittest。 5.部署應用,使用Docker和平台如Heroku或AWS。通過這些步驟,可以構建出功能強大且高效的Web應用。

Vue的反應性轉換(實驗,然後被刪除)的意義是什麼? Vue的反應性轉換(實驗,然後被刪除)的意義是什麼? Jun 20, 2025 am 01:01 AM

ReactivitytransforminVue3aimedtosimplifyhandlingreactivedatabyautomaticallytrackingandmanagingreactivitywithoutrequiringmanualref()or.valueusage.Itsoughttoreduceboilerplateandimprovecodereadabilitybytreatingvariableslikeletandconstasautomaticallyreac

如何在VUE應用程序中實施國際化(I18N)和本地化(L10N)? 如何在VUE應用程序中實施國際化(I18N)和本地化(L10N)? Jun 20, 2025 am 01:00 AM

國際化和傾斜度invueAppsareprimandermedusingthevuei18nplugin.1.installvue-i18nvianpmoryarn.2.createlo calejsonfiles(例如,en.json,es.json)fortranslationMessages.3.setupthei18ninstanceinmain.jswithlocaleconfigurationandmessagefil

您如何優化VUE中大型列表或複雜組件的重新渲染? 您如何優化VUE中大型列表或複雜組件的重新渲染? Jun 07, 2025 am 12:14 AM

優化Vue中大型列表和復雜組件性能的方法包括:1.使用v-once指令處理靜態內容,減少不必要的更新;2.實現虛擬滾動,僅渲染可視區域的內容,如使用vue-virtual-scroller庫;3.通過keep-alive或v-once緩存組件,避免重複掛載;4.利用計算屬性和偵聽器優化響應式邏輯,減少重渲染範圍;5.遵循最佳實踐,如在v-for中使用唯一key、避免模板中的內聯函數,並使用性能分析工具定位瓶頸。這些策略能有效提升應用流暢度。

使用VUE中的V-For指令使用關鍵屬性(:key)的好處​​是什麼? 使用VUE中的V-For指令使用關鍵屬性(:key)的好處​​是什麼? Jun 08, 2025 am 12:14 AM

Usingthe:keyattributewithv-forinVueisessentialforperformanceandcorrectbehavior.First,ithelpsVuetrackeachelementefficientlybyenablingthevirtualDOMdiffingalgorithmtoidentifyandupdateonlywhat’snecessary.Second,itpreservescomponentstateinsideloops,ensuri

VUE中的服務器端渲染SSR是什麼? VUE中的服務器端渲染SSR是什麼? Jun 25, 2025 am 12:49 AM

Server-Serdendering(SSR)InvueImProvesperformandSeobyGeneratingHtmlonTheserver.1.TheserverrunsvueApcodeAmpCodeAndGeneratesHtmlbBasedonThecurrentRoute.2.thathtmlssenttothebrowserimmed.3.vuehirative eveirtive eveirtive eveirtive eveirtive eveirtive eveirtive eveirtive eveirtiveThepage evepage evepage

如何將V模型用於VUE中自定義組件的雙向數據綁定? 如何將V模型用於VUE中自定義組件的雙向數據綁定? Jun 06, 2025 am 11:41 AM

在Vue中使用v-model實現自定義組件的雙向綁定,首先需理解其工作機制。對於自定義組件,你需要:1.接收名為modelValue的prop;2.觸發名為update:modelValue的事件。默認情況下,會被解析為,因此組件內需使用:value="modelValue"和$emit('update:modelValue')來同步數據。此外,可通過model:{prop:'checked',event:'change'}自定義prop和事件名稱,適用於不同類型的組件如開關

如何在VUE中實現過渡和動畫? 如何在VUE中實現過渡和動畫? Jun 24, 2025 pm 02:17 PM

ToaddtransitionsandanimationsinVue,usebuilt-incomponentslikeand,applyCSSclasses,leveragetransitionhooksforcontrol,andoptimizeperformance.1.WrapelementswithandapplyCSStransitionclasseslikev-enter-activeforbasicfadeorslideeffects.2.Useforanimatingdynam

See all articles