네임드 뷰

네임드 뷰(Named View)는 특정 페이지로 이동 했을 때

여러 개의 컴포넌트를 동시에 표시하는 라우팅 방식이다.

이전 포스티에서 알아보았던 네스티드 라우터는 아래의

이미지처럼 상위 컴포넌트가 하위 컴포넌트를 포함하는 형태이다.



하지만 네임드 뷰는 아래 이미지처럼 같은 레벨에서

여러 개의 컴포넌트를 한 번에 표시한다.



이제 간단하게 네임드 뷰 구조를 소스로 확인하자



먼저 9~13line에서는 <div>태그 안에 <router-view>를 3개 추가하고

name속성을 추가한다. 여기서 name 속성은 아래 components 속성에

정의하는 컴포넌트와 매칭하기 위한 속성이다. Header컴포넌트는 header

Footer컴포넌트는 footer를 각각 name속성에 값으로 설정한다.

다음 name속성이 없는 두 번째 <router-view>는 default로 표시될 컴포넌트를 의미한다.


이제 스크립트단을 보자 18~20line에서 Body, Header,Footer컴포넌트의

내용이 담길 객체를 선언한다. 각 컴포넌트 내용에는 컴포넌트 영역이

구분될 수 있게 template를 추가한다.


22line에서 new VueRouter()로 라우터를 하나 생성하고

라우터 정보를 정의한다.


25line에서 path는 네임드 뷰가 실행될 URL을 정의한다.

여기서는 애플리케이션이 실해되면 마주치는 기본 URL값 ' / ' 을 넣었다.


26~29line components는 앞에서 <router-view>에 정의한 name속성에 따라

표시될 컴포넌트를 정의하는 속성이다.


마지막으로 35line에서 인스턴스를 생성하고 네임드 뷰 정보를 갖고 있는

라우터를 포함한다.


아래는 실행 결과값이다.



위와같이 네임드 뷰를 활용하면 특정의 페이지로 이동했을때

해당 URL에 맞춰 여러개의 컴포넌트를 한 번에 표시할 수 있다.


*참고*

<router-view>에서 사용한 name속성은 예약어가 아니고

사용자가 임의로 정의할 수 있는 값이다.

'Vue.js' 카테고리의 다른 글

뷰 리소스  (0) 2018.04.16
웹 앱의 HTTP 통신 방법  (0) 2018.04.09
네스티드 라우터  (0) 2018.04.05
뷰 라우터  (0) 2018.04.05
이벤트 버스(관계없는 컴포넌트 간 통신)  (0) 2018.04.03

댓글

Designed by JB FACTORY