๐ Language/Vue
[vuejs] vue-router ์ค์ฒฉ ๋ผ์ฐํ
a n u e
2023. 2. 7. 17:30
// App.vue : ์ต์์ outlet
<template>
<AppHeader></AppHeader>
<router-view></router-view>
<AppFooter></AppFooter>
</template>
์ด ๊ณณ์ ๋ ๋๋ง๋๋ ์ปดํฌ๋ํธ๊ฐ ์ต์์ outlet์ด ๋ ์ ์๋ค. ๋ ๋๋ง๋ ํ๋์ ์ปดํฌ๋ํธ ์์ ์ฌ๋ฌ๊ฐ์ ์ค์ฒฉ๋ ์ปดํฌ๋ํธ๊ฐ ํฌํจ๋ ์ ์๋ค.
// About.vue
<template>
<div>About</div>
<router-view></router-view>
</template>
<script>
export default {
name: "About",
};
</script>
<style></style>
App.vue๋ผ๋ ๊ฐ์ฅ ๋ฐ๊นฅ์ ์ปดํฌ๋ํธ ์์ About.vue๊ฐ ๋ ๋๋ง๋๊ณ
About.vue ์์์ ๋ Info1.vue, Info2.vue๊ฐ ๋ ๋๋ง๋๋ ๊ตฌ์กฐ์ด๋ค.
children์ ์ฌ์ฉํ์ฌ ์ค์ฒฉ ๋ผ์ฐํ ์ ํ ์ ์๋ค.
import Main from "@/views/Main.vue";
import DiarydWrite from "@/views/DiaryWrite.vue";
import Info1 from "@/views/Info1.vue";
import Info2 from "@/views/Info2.vue";
const routes = [
{
path: "/",
name: "Main",
component: Main,
},
{
path: "/about",
name: "About",
component: () =>
import(/* webpackChunkName: "about" */ "../views/About.vue"),
children: [
{
path: "info1",
component: Info1,
},
{
path: "info2",
component: Info2,
},
],
},
];
export default routes;
url : http://localhost:8080/about/info2
url : http://localhost:8080/about/info1