250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- var
- const
- this
- Interface
- 컴포넌트
- ES6
- 뷰
- 라우터
- 리액트
- function
- typescript
- todolist
- 자바스크립트
- 함수
- BIND
- 모던
- Number
- VUE
- 데이터 타입
- 타입스크립트
- null
- let
- js
- CSS
- 투두리스트
- react
- redux
- 객체
- 스코프
- 모던 자바스크립트
Archives
- Today
- Total
홍준혁
Vue.js-네임드 뷰 본문
728x90
저번 시간에 한 번에 많은 라우터를 표현하는데 한계가 있는 네스티드 라우터를 배워봤었는데 이번엔
그 단점을 해결해줄 네임드 뷰를 배워 볼 것이다.
이런 식으로 네임드 뷰는 같은 레벨에서 여러 개의 컴포넌트를 표시할 것이다.
잔말 말고 바로 코드로 구현해보자.
<!DOCTYPE html>
<html>
<head>
<title>Vue.js Sample</title>
</head>
<body>
<div id="app">
<router-view name="header"></router-view>
<router-view></router-view>
<router-view name="footer"></router-view>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue-router/3.4.3/vue-router.min.js"></script>
<script>
var Body = { template: "<div>This is Body</div>" };
var Header = { template: "<div>This is Header</div>" };
var Footer = { template: "<div>This is Footer</div>" };
var router = new VueRouter({
routes: [
{
path: "/",
components: {
default: Body,
header: Header,
footer: Footer,
},
},
],
});
var app = new Vue({
router,
}).$mount("#app");
</script>
</body>
</html>
div#app에 router-view가 3번 사용이 되었는데 이렇게 작성을 하면 "같은 레벨의 컴포넌트가" 3개가 화면애 보인다.
그다음 보면 각 컴포넌트의 내용이 표시되는 것을 알 수 있다.
이때 컴포넌트를 하나 더 만들어 보자
그다음 routes에 경로를 하나 더 만들어 보자
이렇게 하고 결과를 보도록 하자.
주소에 login을 끝에 추가하면 아까 추가한 컴포넌트의 내용이 나오는 것을 알 수 있다.
그다음 이동이 편할 수 있도록 router-link를 넣도록 하자
이렇게 코드를 작성하고 실행해보면 a태그로 성공적으로 변환이 되면서 링크를 누르기만 하면 이동하는 편리한 웹을 만들어 볼 수 있다.
끝~
728x90
'Vue.js' 카테고리의 다른 글
Vue.js-뷰 템플릿 (0) | 2020.09.22 |
---|---|
Vue.js-HTTP 통신 (0) | 2020.09.22 |
Vue.js-네스티드 라우터 (0) | 2020.09.21 |
Vue.js-Router(뷰 라우터) (0) | 2020.09.21 |
Vue.js-하위에서 상위 컴포넌트로 데이터 전달 (0) | 2020.09.21 |
Comments