가장 먼저 볼 페이지는 CoachesList.vue 페이지이다.
마지막에는 꽤 복잡한 페이지가 될 것이다.
코치들의 목록 뿐만 아니라, 필터링 로직 또한 추가되어 표시된 코치 목록을 필터링할 수 있게끔 만든다.
코치의 목록을 출력하려면 일단 코치가 필요하다.
지금 당장은 관리하고 있는 데이터가 존재하지 않고 있다.
CoachList.vue 컴포넌트에 이렇게 두 개의 메인 영역이 있다.
<template>
<section>
FILTER
</section>
<section>
LIST OF COACHES
</section>
</template>
이에 대해서는 두 개의 개별 하위 컴포넌트를 생성해 CoachList컴포넌트의 내용을 비교적 간단하게 유지할 예정.
먼저 지금과 다른 폰트를 사용하기 위해 전역 스타일링을 설정해보자.
→ App.vue에 기본 스타일링을 추가하면 전체 앱으로 적용된다.
일부분의 스타일링이 아니라 전역적으로 적용될 스타일링이 된다.
지금 당장 이 페이지는 아무런 쓸모가 없다.
두 가지 방법으로 작업을 진행할 수 있다
- 첫 번째 : Vuex를 추가해 데이터를 추가하기 시작하는 것.
- 두 번째 : 전체 기본 레이아웃과 내비게이션, 애플리케이션의 헤더를 추가 → 레이아웃 작업을 마무리 → 모든 페이지로 이동이 가능하도록 → 페이지에는 더미 코드 포함 → 데이터는 이후에 추가.
이번에는 두 번째 방법을 택해보자.
가장 먼저 내비게이션과 기본 레이아웃을 모두 연결한 뒤 데이터 추가 작업을 하는 것.
src폴더로 이동해 pages 옆에 components폴더를 생성한다.
이 폴더의 내부에 layout폴더를 추가한다.
layout폴더 안에는 TheHeader.vue 파일이 들어간다.
이 파일엔 애플리케이션에 필요한 내비게이션을 가진 기본 헤더가 들어있다.
App.vue파일 내에서 TheHeader컴포넌트를 지역 컴포넌트로 등록한다.
why? → App.vue에서만 사용하므로.
그리고 <router-view>의 위쪽에서 <the-header>를 렌더링한다.
<!--App.vue-->
<template>
<the-header></the-header>
<router-view></router-view>
</template>
<script>
import TheHeader from './components/layout/TheHeader.vue';
export default {
components: {
TheHeader,
},
};
</script>
TheHeader.vue에는 header요소가 필요하고, 내비게이션의 일부로서 이 페이지의 메인 제목인 h1태그가 필요하다.
클릭 가능해야하며, 시작페이지로 연결되어야 하기 때문에 <router-link>가 되어야 한다.
이 옆의 ul에는 다양한 내비게이션 항목이 포함되고, 이는 <router-link>가 된다.
TheHeader.vue의 기본 설정은 이 정도면 될 것 같다.
<template>
<header>
<nav>
<h1><router-link to="/">Find a Coach</router-link></h1>
<ul>
<li><router-link to="/coaches">All Coaches</router-link></li>
<li><router-link to="/requests">Requests</router-link></li>
</ul>
</nav>
</header>
</template>
지금은 스크립트가 필요하지 않다. 동적인 요소가 들어있지 않으므로.
스타일링만 추가.
** 출처: 모든 내용은 Udemy Vue-완벽가이드 강의를 기반으로 작성하였습니다.
'Vue.js' 카테고리의 다른 글
[Udemy Vue 완벽가이드 Section16] 240. Vuex 및 코치 데이터 추가하기 (0) | 2023.12.12 |
---|---|
[Udemy Vue 완벽가이드 Section16] 239. 페이지 연결하기 (0) | 2023.12.12 |
[Udemy Vue 완벽가이드 Section16] 237. 라우트 페이지 컴포넌트 추가하기 (1) | 2023.12.08 |
[Udemy Vue 완벽가이드 Section16] 236. 라우트 등록하기 (1) | 2023.12.08 |
[Udemy Vue 완벽가이드 Section16] 235. 레이아웃/컴포넌트 계획하기 (0) | 2023.12.08 |