[Vue Router] 快速建立Router
TL;DR
Vue Router起手式。
參考資料
相關連結
- Vue CDN | CDNJS
- Vue-router CDN | CDNJS
基本範例
使用Vue Router時,Vite或是Webpack並不是必須的。
我們也可以單純使用Vue並且在裡面透過app.us
e加上Vue Router的功能。
完整程式碼
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div id="app">
{{ title }}
<router-link to="/a">A</router-link> |
<router-link to="/b">B</router-link>
<router-view></router-view>
</div>
// 這邊選擇使用CDN載入物件在global上。因為vue-router相依於vue,所以載入順序要在vue之後。
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/3.3.11/vue.global.min.js"
integrity="sha512-jUvo4wLmasBQ4VBRwG9qkfOP/6GkSepADybOv52QFmqEYQlPx8ihGINjxQkiaH+ygvkI0XI2dMSvPs2BcFL5Zg=="
crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue-router/4.2.5/vue-router.global.js"
integrity="sha512-p4IVRObGPqEwALMh7aOb8F8cu8hhUpHDHJTxWwiyUHlvBysSPK00bVQi9z186s9wvw6xqISRx7hT3Z45rBHvGw=="
crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script type="module">
const { createApp } = Vue
const { createRouter, createWebHashHistory } = VueRouter;
const componentA = {
template: `
<div>A</div>
`
}
const componentB = {
template: `
<div>B</div>
`
}
const app = createApp({
data() {
return {
title: "i'm title"
}
}
})
const router = createRouter({
// 網址路徑模式設定
history: createWebHashHistory(),
// 匯入路由表
routes: [
{
path: '/a',
component: componentA
},
{
path: '/b',
component: componentB
}
]
})
app.use(router);
app.mount('#app');
</script>
</body>
</html>
載入CDN
這邊選擇使用CDN載入物件在global上。
因為vue-router相依於vue,所以載入順序要在vue之後。
-
Vue CDN
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/3.3.11/vue.global.min.js" integrity="sha512-jUvo4wLmasBQ4VBRwG9qkfOP/6GkSepADybOv52QFmqEYQlPx8ihGINjxQkiaH+ygvkI0XI2dMSvPs2BcFL5Zg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
-
VueRouter CDN
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue-router/4.2.5/vue-router.global.js" integrity="sha512-p4IVRObGPqEwALMh7aOb8F8cu8hhUpHDHJTxWwiyUHlvBysSPK00bVQi9z186s9wvw6xqISRx7hT3Z45rBHvGw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
router-view
需要先在routes
內撰寫對應的路由,接著再使用router-view
根據目前所在的路由渲染對應的元件。
caution
需要注意!routes
跟router
是不同的用途!!
router-link
如果需要切換路由,可以使用router-link
,搭配to="path"
的方式。