? ? ? ? 實際項目中不可能就一個頁面,會有很多個頁面。在Vue里面,頁面與頁面之間的跳轉和傳參會使用我們的路由: vue-router
基礎使用
? ? ? ? 要使用我們需要先給我們的項目添加依賴:vue-router。使用命令下載:
npm install vue-router
? ? ? ? 使用路由會涉及到下面幾個對象:
1.我們要跳轉和傳參的頁面資源和我們的App.vue(掛載到容器上的vue對象)
2.routers.js? 一個js文件,用于編寫配置我們項目各個頁面的訪問路徑等一系列信息。
3.main.js? 項目的主要js文件,我們要將我們配置的路由信息注冊給我們的vue對象。
? ? ? ? 現在我們來使用router。
(1)安裝vue-router
(2)編寫路由配置文件:
//引入相關方法
import {createRouter, createWebHistory} from 'vue-router'//配置相關信息
const routes = [{path: '/',//訪問時使用的urlcomponent:()=> import('../views/farie.vue')//目標頁面資源文件所在位置
},{path: '/flower',component:()=> import('../views/flower.vue'),
}]//創建路由對象,需要兩個參數
const router = createRouter({history:createWebHistory(), //第一個參數是使用哪種模式routes //第二個參數是我們寫好的路由信息對象
})export default router //將我們的路由對象暴露(讓其他js可以導入)
(3)在main.js中給我們的vue對象注冊路由信息:
?(4)到App.vue(根組件)處使用標簽:
????????然后我們在對應的頁面資源里面隨意編寫信息,訪問對應url查看效果。
路徑傳參和獲取使用
? ? ? ? 路徑傳參一般有兩種方式,一種是常規的 路徑?鍵1=值1&鍵n=值n 的形式,另一種是占位符傳參。
常規傳參
? ? ? ? 想要常規傳參傳入的參數,直接在頁面資源里調用即可。
? ? ? ? 訪問并傳參num的效果:?
? ? ? ? 說明:在注冊了路由之后,就可以使用route內置對象,通過$來引出。開發時使用的工具可能會沒有提示,但不重要。route對象就是route對象,不是你自己命名的,和你注冊的路由時使用的變量名還是暴露時用的變量名都沒關系。
占位符傳參
? ? ? ? 使用占位符傳參時,有幾點與常規傳參不一樣:
1.在路由配置中需要專門寫出? ?路徑/:參數名
2.在訪問時,如果沒有格外設置,必須要符合url格式才行。比如"/data/:uid",那么你訪問時必須是"/data/1233"這種,但是只通過"/data"訪問會報錯。
?????????
? ? ? ? 補充說明:
1.路徑傳參可以在頁面代碼塊中獲取,即可以使用插值表達式也可以用于函數傳參。我們可以通過事件將拿到的值,賦給我們的js中的某個數據。
2.在路由配置中 給我們的 :參數名 后加一個 ? ,就可以表示不傳該參數也可以。