Search
Duplicate
👩🏻‍💻

url 분기하기

Tags
작업일지
Date
2023/05/16
Tags 2
Vue.js
URL
비고
사람

url 분기

아래 화면과 같이 특정 상황에 따라 아래 화면에 알맞은 폼이 나타나고, url 또한 분기되어야 했습니다.
user.js 수정
이전구조 이전 구조에서는 /user 에서 전부 작업했으며, topframe 에만 컴포넌트를 등록하였습니다. /user +------------------+ | user | | +--------------+ | | | | | | | | | | +--------------+ | | | | +--------------+ | | | | | | | | | | +--------------+ | +------------------+ ================================================================================= 변경구조 회원가입 /user 에서 회원가입에 해당하는 대답을 클릭하면 /user/signup 으로 이동하도록 하였습니다. 이때 변화하는 frame 은 아래부분입니다. 때문에 상단에는 영향이 가지 않습니다. /user/signup +------------------+ +-----------------+ | user | | user | | +--------------+ | | +-------------+ | | | | | +------------> | | | | | | | | | | | | | +--------------+ | | +-------------+ | | | | | | +--------------+ | | +-------------+ | | | | | +------------> | | signup | | | | | | | | | | | +--------------+ | | +-------------+ | +------------------+ +-----------------+ 로그인 /user 에서 로그인에 해당하는 대답을 클릭하면 /user/login 으로 이동하도록 하였습니다. 이때 변화하는 frame 은 아래부분입니다. 때문에 상단에는 영향이 가지 않습니다. /user/login +------------------+ +-----------------+ | user | | user | | +--------------+ | | +-------------+ | | | | | +------------> | | | | | | | | | | | | | +--------------+ | | +-------------+ | | | | | | +--------------+ | | +-------------+ | | | | | +------------> | | login | | | | | | | | | | | +--------------+ | | +-------------+ | +------------------+ +-----------------+
Plain Text
복사
user.js
const userPages = [ { path: '/user', component: () => import('@/portal/frame/NintendoScreen'), children: [ { path: "signup", component: () => import('@/portal/user/UserSignUpBottom'), }, { path: "login", component: () => import('@/portal/user/UserLoginBottom'), } ] } ] export { userPages }
JavaScript
복사
중첩된 라우트 이기 때문에 children 을 두었으며, 이에관한 내용은 공식문서를 참조해두었으니 공부하면 좋을 것 같습니다.
url 이동과 router-view
url 을 분기했으니, 해당 url 로 이동하도록 하는 무언가가 필요합니다. 따라서 UserMain.vue 를 아래와 같이 수정해주었습니다.
UserMain.vue
<router-link to=”이동하고자 하는 url”> 을 통해 url 을 이동할 수 있습니다.하지만 등록한 컴포넌트를 보이게 하려면 알맞은 곳에 <router-view> 를 넣어주어야 합니다.
현재 윗단에 알맞게 아랫단을 보여주어야 하므로, NintendoBottomFrame.vue 를 아래와 같이 작성해주었습니다.
NintendoBottomFrame.vue
이렇게 두면 url 에 해당하는 컴포넌트들이 이곳에 그려집니다.

폴더트리