Vue js 中的動態路由

2021-08-31 19:05:14 字數 2302 閱讀 3192

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!

在文章 使用vue-router完成簡單導航功能 中實現的路由導航功能是不能傳遞引數的,也就是說是靜態路由。

而能傳遞引數的路由模式,由於可以傳遞引數,所以其對應的路由數量是不確定的,故稱之為動態路由

那麼如何將引數作為路由呢?

在引數名前面加上:,然後將引數寫在路由的path

如下示例:

routes: [    //將頁面元件與path指令的路由關聯      ]
這樣定義之後,vue-router就會匹配所有的:/books/1,/books/2,/books/3 ……,所以說這樣定義的路由的數量是不確定的。

我們加入乙個params屬性來指定具體的引數值

:to ="}" >

首頁div>

router-link>

li>上面的鏈結對應就為:http://localhost:8080/__dirname/books/1

如果需要傳入多個引數值,只要按照上面的命名方法來加入引數,傳遞在params中對應的宣告引數值即可,vue-router只要匹配到路由模式的定義就會自動對引數進行分解取值

如path: '/books/version/:id'

,則對應params為:params :那麼現在就面臨這乙個問題 —— 如何從路由中將這個引數值讀取出來呢?

答:通過$route.params這個屬性獲取指定的引數值,如:this.$route.params.id,this.$route.params.msg

如果希望在相應的元件頁面內輸出引數值,對應**如下:

當前圖書編號是:

}p>

如果想在js**中根據引數值做相應的處理,則在預設路由中加入如下**:

export

default

;  }

};

當使用路由引數的時候,如 從/books/1/books/2,原來的元件例項會被復用,因為兩個路由都渲染同乙個元件,比起銷毀後再建立,復用的銷率會更高。

這也就是說 元件的生命週期鉤子不會再被呼叫(元件沒有被銷毀後再建立) ,即created  mounted等鉤子函式在頁面第二次載入的時候回失效。

那麼,當復用元件時候,想對路由引數的變化做出響應的話,就需要在$watch物件內新增對$route物件變化的跟蹤函式

$route.params定義的引數必然是整個路由的其中一部分,vue-router還可以讓我們使用"/path?param = value"的方式傳遞引數,可以使用$route.query.引數名獲取引數值

vue-router還提供一種常量引數定義meta,我們可以在路由定義中先定義meta的值,然後在路由例項中通過$route.meta引數獲取具體常量值。

如下**($route.query.引數名

獲取其中bookname的值的**為this.$route.query.msg如下**($route.meta.引數名

}
獲取其中bookname的值的**為this.$route.meta.bookname給我老師的人工智慧教程打call!

react 動態修改路由 React中的路由設定

在本文中,我們來看看如何在react中設定路徑路由。我們期望在結尾時取得如下的成績 在本次演示中,我們建立了三個頁面 page 1,page 2,page 3。為了簡化處理,三個頁面的定義類似如下 import react from react function page1 from react r...

動態路由協議中的路由資訊協議(RIP)

二 路由資訊協議 rip 3.rip版本對比 4.相關配置命令 定義 動態路由是指路由器能夠自動地建立自己的路由表,並且能夠根據實際情況的變化適時地進行調整。優點 減少管理任務 缺點 占用網路頻寬 路由器通過度量值選擇最優路由路徑,路由器之間用來交換資訊的語言 度量值 跳數 頻寬 負載 時延 可靠性...

靜態路由 動態路由

靜態路由 靜態路由是指由網路管理員手工配置的路由資訊。當網路的拓撲結構或鏈路的狀態發生變化時,網路管理員需要手工去修改路由表中相關的靜態路由資訊。靜態路由資訊在預設情況下是私有的,不會傳遞給其他的路由器。當然,網管員也可以通過對路由器進行設定使之成為共享的。靜態路由一般適用於比較簡單的網路環境,在這...