這篇文章帶大家了解Vue,詳細介紹一下Vue入門必備知識中的Router路由,希望對大家有幫助!
#路由(英文:router)就是對應關係。
SPA 指的是一個web 網站只有唯一的一個HTML 頁面,所有元件的展示與切換都在這唯一的一個頁面內完成。此時,不同元件之間的切換需要透過前端路由來實作。 (學習影片分享:vue影片教學)
?結論?:在SPA 專案中,不同功能之間的切換,要依賴前端路由來完成!
簡單易懂的概念:Hash 位址與元件之間的對應關係。
#用戶點擊了頁面上的路由連結;
導致了URL 網址列中的Hash 值發生了變化;
前端路由監聽了到Hash 位址的變化;
#前端路由把目前Hash 位址對應的元件渲染都瀏覽器中;
?結論?:前端路由,指的是Hash 位址##與元件之間的對應關係!
標籤,結合
comName 動態渲染元件。範例程式碼如下:
2️⃣ 在 App.vue 元件中,為
連結新增對應的
hash 值。範例程式碼如下:
3️⃣ 在
created# 生命週期函數中,監聽瀏覽器網址列中
hash 位址的變化,動態切換要展示的組件的名稱。範例程式碼如下:
是vue.js 官方給的路由解
。它只能結合 vue 專案來使用,能夠輕鬆的管理 SPA 專案中元件的切換。 ?vue-router 的官方文件位址?:
(2)vue-router 安裝和設定的步驟
套件
的指令如下:<pre class="brush:php;toolbar:false">npm install vue-router</pre>
原始碼目錄下,新router/index.js
路由模組,並初始化如下的程式碼:
##2.3 匯入並掛載路由模組
在src/App.vue 元件中,使用vue-router 提供的<router-link></router-link>
和<router-view></router-view>
宣告路由連結和占位符:
在src/router/index.js 路由模組中,透過routes 陣列
宣告路由的符合規則。範例程式碼如下:
路由重定向指的是:使用者在存取位址A 的時候,強制使用者跳轉到位址C ,從而展示特定的元件頁面。透過路由規則的redirect
屬性,指定一個新的路由位址,可以很方便地設定路由的重定向:
元件的嵌套展示,稱為嵌套路由。
子路由連結以及子路由佔位符。範例程式碼如下:
children 屬性宣告子路由規則:
可變的部分定義為參數項目,從而提高路由規則的複用性。 2️⃣ 在 vue-router 中使用
英文的冒號(:)來定義路由的參數項目。範例程式碼如下:
動態路由渲染出來的元件中,可以使用this.$route.params 物件存取到
動態匹配的參數值。
為了簡化路由參數的取得形式,vue-router允許在路由規則中開啟props 傳參
。範例程式碼如下:
點擊連結實作導航的方式,叫做聲明式導航。例如:
連結、vue 專案中點選
都屬於宣告式導覽;
呼叫API 方法實作導航的方式,稱為編程式導航。例如:
跳到新頁面的方式,屬於編程式導航;
this.$router.push('hash 位址')
: 跳到指定hash 位址,並增加一個歷史記錄;this.$ router.replace('hash 位址')
: 跳到指定的hash 位址,並取代掉目前的歷史記錄;this.$router.go(數值n)
: 實作導航歷史前進、後退;呼叫this.$router.push()
方法,可以跳到指定的hash 位址,從而展示對應的元件頁面。範例程式碼如下:
呼叫this.$router.replace()
方法,可以跳到指定的hash 位址,從而展示對應的元件頁面;
?push 和replace 的差異?:
this.$router.go() 方法,可以在瀏覽歷史中前進和後退。範例程式碼如下:
: 在歷史記錄中,
後退到上一個頁面
: 在歷史記錄中,
前進到下一個頁面
導航守衛可以控制路由的存取權限。 示意圖如下:
每次發生路由的導覽跳轉時,都會觸發全域前置守衛。 因此,在全域前置守衛中,程式設計師可以對每個路由進行存取權限的控制:
全域前置守衛的回呼函數中接收3 個形參,格式為:
##(學習影片分享:
web前端開發、程式設計基礎影片)
以上是深入聊聊Vue中的Router路由的詳細內容。更多資訊請關注PHP中文網其他相關文章!