今天要學習 router
路由,簡單來說就是我們的網站中透過網址的不同結構,切換並顯示網站內不同的頁面內容
當 user 透過瀏覽器訪問某個特定的網址時,網站會根據這個網址對應的路由設定,回應對應的頁面資料,使的我們的網站元素更豐富
有鑑於之前的專案已經太多元件了,我決定再開一個新的目錄
開啟 Terminal
先安裝 router 相關套件
開一個新的專案,可參考第二篇
在 main.js 加入 router 並使用在 createApp
import { createApp } from 'vue'
import './style.css'
import App from './App.vue'
import router from './router'
createApp(App).use(router).mount('#app')
建立新檔案: src/router/index.js
import { createRouter, createWebHistory } from 'vue-router'
import Home from '../views/Home.vue'
const About = () => import('../views/About.vue')
const routes = [
{ path: '/', name: 'home', component: Home },
{ path: '/about', name: 'about', component: About },
]
export default createRouter({
history: createWebHistory(import.meta.env.BASE_URL),
routes,
})
接著建立新檔案: src/views/Home.vue
& src/views/About.vue
<template><h2>Home</h2></template>
<template><h2>About</h2></template>
最後 App.vue
<template>
<h1>Hello App!</h1>
<p><strong>Current route path:</strong> {{ $route.fullPath }}</p>
<nav>
<RouterLink to="/">Go to Home</RouterLink>
<RouterLink to="/about">Go to About</RouterLink>
</nav>
<main><RouterView /></main>
</template>
<style scoped>
nav{
display: flex;
flex-direction: column;
gap: 3px;
}
</style>
就可以 npm run dev
起來看結果了
預設會在根路徑
點 Go to About
就可以切換到 /about
路由,再次點一次 Go to Home
就可以回到根路由