ABOUT ME

-

오늘 방문자
-
어제 방문자
-
전체
-
  • [Vue.js] 네스티 라우터란?
    JS 2019. 1. 20. 23:57


    네스티 라우터, 네임드 뷰는  여러개의 컴포넌트를 동시에 표시 할 수 있는 라우터이다.



    네스티 라우터란?

    라우터로 페이지이동을 할때 최소 2개이상의 컴포넌트를 화면에 나타내는 기능


    -구조는 상위컴포넌트 1개에 하위컴포넌트 1개를 포함하는 구조


    예를 들어 

    localhost:8080/user    //user가 상위

    localhost:8080/user/detail  //detail은 하위

    localhost:8080/user/create //create도 하위


    이런식으로 접근이 가능함.


    -기본 라우터와 네스티라우터의 차이점은  최상위 컴포넌트에도 <router-view>가 있고, 최상위 컴포넌트의 하위 컴포넌트에도

    <router-view>가 있다는 것.




    예제


    30행, 34행의 path=url에 따라  해당 컴포넌트를 보여지게 된다.


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    <!DOCTYPE html>
    <html lang="en" dir="ltr">
      <head>
        <!--vue  -->
        <script src="https://cdn.jsdelivr.net/npm/vue@2.5.2/dist/vue.js" ></script>
        <!--라우터 -->
        <script src="https://unpkg.com/vue-router@3.0.1/dist/vue-router.js"></script>
        <title>네스티 라우터</title>
      </head>
      <body>
        <div id="app1">
            <!-- User컴포넌트가 뿌려질 영영역 -->
            <router-view></router-view>
        </div>
     
        <script>
          var User ={
                      template :'<div> User Component <router-view></router-view> </div>'
                   };
                   
          var UserPorfile = {template:'<p>User Profile Component</p>'};
          var UserPost = {template:'<p>User Post Component</p>'};
     
          // 네스티 라우터 정의
          var routes = [{
                      path: '/user',   //ex url : ~~~/user
                      component: User,
                      children:[
                      {
                        path: 'posts'//ex url : ~~~/user/posts
                        component: UserPost
                      },
                      {
                        path: 'profile'//ex url : ~~~/user/profile
                        component : UserPorfile
                      }
                    ]
          }];
     
          //라우터 생성
          var router = new VueRouter({
            routes
          });
     
          var app = new Vue({
            router
          }).$mount('#app1');
     
        </script>
     
      </body>
    </html>
     
    cs




    결과화면


    url에

    /user

    /user/posts

    /user/profile

    을 쳐보면 해당 컴포넌트가 보여지게 된다.



    'JS' 카테고리의 다른 글

    [JavaScript] CORS란?  (0) 2019.03.12
    크로스도메인이란?  (0) 2019.03.12
    [JavaScript] JSON 다루기 정리  (0) 2018.11.19
    [Ajax] ajax 기본 폼 // 비공개  (0) 2018.11.17
    [JQuery] .serialize()에 파라미터 추가하기  (0) 2018.11.06

    댓글

Designed by Tistory.