μνλ URL ν¨ν΄
μΌνλͺ° νλ‘μ νΈλ₯Ό μ§ννλ©΄μ λ€μμ μ»΄ν¬λνΈλ‘ μ΄λ£¨μ΄μ§ νλ©΄ λλλ§μ΄ νμν μν©μ΄ μκ²Όμ΅λλ€.
μ μ κ΄λ ¨ μ 보λ€μ μν λμ보λλ₯Ό ꡬννλ©΄μ νλ©΄ μ€κ³λ₯Ό λ€μκ³Ό κ°μ΄ νμ΅λλ€.
/board /board/wishlist
+------------------+ +-----------------+
| board | | board |
| +--------------+ | | +-------------+ |
| | main | | +------------> | | wishlist | |
| | | | | | | |
| +--------------+ | | +-------------+ |
+------------------+ +-----------------+
μ΄λ₯Ό μν΄μλ νΉμ URLλ³λ‘ νλ©΄μ ꡬμ±νλ μ»΄ν¬λνΈλ₯Ό λλλ§ν μ μλλ‘ ν΄μΌν©λλ€.
λ€ννλ Vue.js μμλ μ΄λ₯Ό μν μ€μ²© λΌμ°ν
μ μ§μνκ³ μμΌλ μ΄λ₯Ό μ νμ©νκΈ°λ§ νλ©΄ λ©λλ€.
μ€μ²©λ λΌμ°ν°
μ€μ²©λ λΌμ°ν°λ μ¬λ¬ λ¨κ³λ‘ μ€μ²© λ μ»΄ν¬λνΈλ₯Ό λ€λ£¨κΈ° μν΄ Vue.jsμμ μ 곡νλ λΌμ°ν κΈ°λ₯μ λλ€.
κ°λ°μλ μ΄λ₯Ό ν΅ν΄ νΉμ URL ν¨ν΄μ λ°λΌ μνλ μμ μ»΄ν¬λνΈλ₯Ό λλλ§ν μ μμ΅λλ€.
μμ μ»΄ν¬λνΈ μ μ
μ°μ λΆλͺ¨ μ»΄ν¬λνΈ νμμ λλλ§λ μμ μ»΄ν¬λνΈλ€μ μ μν©λλ€.
components/DashBoard.vue
<template>
<div>
λμ보λ λ©μΈ
</div>
</template>
<script>
export default {}
</script>
<style>
</style>
components/WishList.vue
<template>
<div>
ss
</div>
</template>
<script>
export default {}
</script>
<style>
</style>
λΆλͺ¨ μ»΄ν¬λνΈ μ μ
λΆλͺ¨ μ»΄ν¬λνΈμμλ <router-view/>
λ₯Ό ν΅ν΄ μμ μ»΄ν¬λνΈλ₯Ό μνλ μμΉμ λλλ§ν©λλ€.
views/DashBoardView.vue
<template>
<div>
λμ보λ<br>
<router-view></router-view>
</div>
</template>
<script>
export default {}
</script>
<style>
</style>
μ»΄ν¬λνΈ λ‘λ λ° λΌμ°ν° μ μ
μ΄μ μμ μ μν μ»΄ν¬λνΈλ₯Ό λΆλ¬μ κ°κ°μ URL ν¨ν΄μ λ§λλ‘ μ μν΄μ€λλ€.
μμ μ»΄ν¬λνΈλ₯Ό λλλ§νκΈ° μν΄μλ children
μμ±μ νμ©ν΄μΌν©λλ€.
children
μμ± νμμ μνλ μμ μ»΄ν¬λνΈλ€μ μ μνκ³ ν΄λΉ URL ν¨ν΄μ 맀μΉμμΌμ€λλ€.
μ΄λ path: ""
λ /dashboard/
μ κ°μ΄ μμ μ»΄ν¬λνΈκ° μ‘΄μ¬νμ§ μμ URLμΌ κ²½μ°λ₯Ό μν λΌμ°ν
μ
λλ€.
routes/index.js
import DashBoardView from "../views/DashBoardView.vue";
// sub component for Dashboard
import DashBoard from "../components/DashBoard.vue";
import WishList from "../components/WishList.vue";
Vue.use(VueRouter);
export const router = new VueRouter({
routes: [
{
// ν νλ©΄
path: "/",
component: MainView,
},
{
// μ μ λμ보λ
path: "/dashboard",
component: DashBoardView,
children: [
{
// μμ μ»΄ν¬λνΈ μμ κ²½μ°
path: "",
component: DashBoard,
},
{
// μμ 리μ€νΈ
path: "wishlist",
component: WishList,
},
{
// ... κΈ°ν child μ»΄ν¬λνΈ μ μ
},
],
},
],
});
μ°Έκ³ μλ£
'π archive' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Vue.js ν΄λμ€μ μ€νμΌ λ°μΈλ© μ μ©νκΈ° (1) | 2021.03.02 |
---|---|
Vue.js μμ λ°μν(Reactivity)μ λ€λ£¨λ λ°©λ² (0) | 2021.03.02 |
Vue-router λ€λΉκ²μ΄μ κ°λ νμ©νκΈ° (0) | 2021.03.01 |
Vue.jsμ Vuetify νμ©ν΄μ axiosλ‘ νμΌ μ λ‘λνκΈ° (0) | 2021.03.01 |
Vue-Router history mode μ§μμ μν Django μ€μ (0) | 2021.03.01 |
π¬ λκΈ