본문 바로가기
개발(라이브러리,프레임워크)/vue.js

Router란?

by zieunee 2020. 5. 17.
반응형

Router

www.website/ user

user를 vue router 가 캐치를 함 user 이름이 있는지 찾고 user 에 매칭 시켜놓은 user component를 찾음 여러가지 조합으로 이루어져 있는 user component 를전달 router 를 그것을 화면에 뿌려줌

라우터가 주소를 받아서 주소에 맞는 컴포넌트 찾아서 값을 뿌려줘야하는데 그 값을 선언해 줘야 한다.

<router-view></router-view>

router.js

Vue.use(Router);

export default new Router({
    mode: 'history',
    base: process.env.BASE_URL,
    routes: [
        {
            path: '/main',
            name: 'main',
            component: Main,
            children: [
                {
                    path: 'happyBirthday',
                    component: () => import(/* webpackChunkName: "happyBirthday" */ './components/happyBirthday.vue'),
                }
            ],
        },
        {
            path: '/index.html',
            redirect: { name: 'main' },
        }
    ]
});

path, name ,component 로 구성 되어있고

path는 주소의미 주소와 연결이 되는 component 설정 해주고 해당 컴포넌트가 뿌려짐

클릭 했을때 이동하는 방법

click 부분에

~~~@click="$router.push({name:'home'})">

$route 를 하면 vue application 에서 router 에 접근을 하겠다 라는의미

$router.push() > 라우터에 값을 밀어넣겠다 ({객체})

({ 객체 }) > 객체에

name :'home',

path:'home' ,

/home 등 의 값이 들어갈 수있음

클릭을 이용하지 않고 router 사용하는 방법

<router-link :to="{name:'home'}"> click  </router-link>

router-link > a태그로 바뀌게 됨

  • 라우터의 기본모드는 해시 모드 (#)

history mode > 로 mode 설정시 바뀜

childern(하위 경로)

www.website/ user/id/edit

 routes: [
        {
            path: '/main',
            name: 'main',
            component: Main,
            children: [
                {
                    path: 'happyBirthday',
                    name: 'happy'
                    component: () => import(/* webpackChunkName: "happyBirthday" */ './components/happyBirthday.vue'),
                }
            ],
        },
        {
            path: '/index.html',
            redirect: { name: 'main' },
        }
    ]
~@click="$router.push({name:'happy'})">

위에 객체를 넣을때 name 은 children 의 name 값만 넣어주면된다

path로 한다면 /main/happy 까지 함께 넣어주어야함

guard

beforeEnter :(to,from,next) =>{

}
반응형

'개발(라이브러리,프레임워크) > vue.js' 카테고리의 다른 글

store(vuex)  (0) 2020.05.20
vue CLI/ Webpack  (0) 2020.05.19
event bus & Mixin  (0) 2020.05.16
Props & $emit  (0) 2020.05.15
vue.js 시작 및 설치환경 구축 / 특징 / vuetify  (0) 2020.05.13