Study/Vue

Vue.js 시작하기 06. 뷰 라우터

going.yoon 2022. 1. 20. 23:58

#뷰 라우터 인스턴스 생성 및 뷰 인스턴스에 연결

 

<body>
    <div id="app"></div>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <script src="https://unpkg.com/vue-router/dist/vue-router.js"></script> <!--라우터 관련 파일 임포트-->
    <script>
        var rt = new VueRouter({ // 라우터 인스턴스 생성 후 변수에 담아줌

        });

        new Vue({
            el: '#app' ,
            router : rt // 뷰 인스턴스에 라우터 인스턴스 넣어줌
        });
    </script>
</body>

 

 

아래와 같이 vue 인스턴스에 $route 변수가 주입된 걸 확인할 수 있다.

 

 

#라우터가 표시되는 영역

 

<body>
    <div id="app">
        <router-view></router-view> <!--routes에 정의된 url로 이동시에 component를 뿌려주는 영역 선언-->
    </div>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <script src="https://unpkg.com/vue-router/dist/vue-router.js"></script> <!--라우터 관련 파일 임포트-->
    <script>
        var LoginComponent = {
            template: '<div>Login</div>'
        } 
        var MainComponent = {
            template : '<div>Main</div>'
        }


        var rt = new VueRouter({ // 라우터 인스턴스 생성 후 변수에 담아줌
            //속성1 : 페이지의 라우팅 정보 - url 과 페이지에 관한 정보를 배열로 나타냄
            routes: [
                {
                    // 페이지의 url 이름
                    path: '/login' ,
                    // 해당 url에서 표시될 컴포넌트
                    component : LoginComponent
                },
                {
                    path : '/main' ,
                    component : MainComponent
                }
            ]
        });

        new Vue({
            el: '#app' ,
            router : rt // 뷰 인스턴스에 라우터 인스턴스 넣어줌
        });
    </script>
</body>

라우터 인스턴스에 /login 과 /main url 및 url에 대응하는 컴포넌트 명을 선언해주었다.

만약 해당 url 이 호출 될 경우, <router-view> 태그 영역에 해당 컴포넌트들이 주입이 될 것이다.

 

 

해당 소스 실행 결과는 다음과 같다.

 

1). http://127.0.0.1:5500/playground/router.html#/login url을 호출 한 경우

 

 

2). http://127.0.0.1:5500/playground/router.html#/main url을 호출 한 경우

 

 

 

 

#라우터 링크

 

아래와 같이 라우터 링크를 추가해주면 <a href="/login"> 이런식으로 이동 링크를 제공해준다. 

그리고 해당 url을 클릭하면 저 router-view영역에 데이터가 주입된다.

    <div id="app">
        <div>
            <router-link to="/login">Login</router-link>
            <router-link to="/main">main</router-link>
        </div>
            <router-view></router-view>
    </div>

 

그러면 이렇게 화면에 링크와 html 값들이 조회된다.

 

 

 

 

 

해당 포스팅은 인프런의 Vue.js 시작하기 - Age of Vue.js 학습 후 정리한 내용임을 알려드립니다.