--- # 6.1 Vue router --- # 6.1 Vue router # 初始化 一、npm init vue@latest 時選擇 router:true/ 輸入 npm i vue-router 安裝 記得加 Hash ![](https://i.imgur.com/KXfV6PV.png) 二、基本添加 1. App.vue 在要放頁面的位置加 router-view 2. 跳轉處加上(to='/路徑')(可做成變數版) (這裡是使用者打的網址,跟mongoDB的post等網址不同) 產生能切換頁面的a標籤 1.button input:button a router-link都可 2.可用陣列生成,自帶變數進去 --- import { useRoute,useRouter } from 'vue-router' const route = useRoute() route 會有頁面資訊,ex:有變數的route,route.params.變數名 --- ```javascript= // 基本換網頁 const router = useRouter() router.push('/guitar/teach') this.$router.push({ name: 'User', params: { 'sss' } }); this.$router.push({ path: '/user', query: { id: 111, // 注意,傳送後會轉為字串 name: 'Alysa' } }) ``` --- 3. src/router/index.js createWebHistory=> createWebHashHistory (不跳頁) 要的頁面放 ```javascript= import { createRouter, createWebHashHistory } from 'vue-router' // 預先載入 import HomeView from '../views/HomeView.vue' const router = createRouter({ history: createWebHashHistory(import.meta.env.BASE_URL), routes: [ { path: '/', name: 'home', component: HomeView, // 供資料給底部改標題 meta: { title: '首頁' } }, { path: '/guitar/:id', name: 'guitar', // 事後載入 component: () => import('../views/GuitarView.vue'), meta: { title: 'guitar' } }, { path: '/404', name: 'notFound', component: () => import('../views/nN.vue'), meta: { title: '404' } }, { path: '/:catchALL(.*)', name: 'all', redirect: '/404' } ] }) // 改標題(偵測route變化) router.afterEach((to, from) => { document.title = to.meta.title }) export default router ``` 取的ˊ目前路由資訊 ![](https://i.imgur.com/ZGhSbM9.png) 另個 對路由做操作