목표
- Nuxt3 설치 및 테일윈드 CSS 설치
- 투두 리스트 마크업
- 투두 리스트 테일윈드 css 적용
결과 화면
버전
node v.20.8.1
nuxt v.3.8.1
vue v.3.3.8
1. Nuxt3 설치 및 테일윈드 CSS 설치하기
https://jae-study.tistory.com/114
Nuxt3 설치 및 테일윈드 CSS 설치에 대한 설명은 위의 링크를 참고한다.
2. 테일윈드 CSS를 이용해서 마크업 하기
- pages/index.vue
- 새로운 toDo를 입력할 <form> 태그를 만들고, 입력한 toDo들이 나타날 수 있게 <ul> 태그로 목록을 만든다.
- 테일윈드를 사용해 CSS를 적용한다.
- toDoList 변수와 v-for를 이용해 toDoList를 보여준다.
<script setup lang="ts">
const toDoList = [
{
id: 1,
content: '첫번째 할 일'
},
{
id: 2,
content: '두번째 할 일'
},
{
id: 3,
content: '세번째 할 일'
}
]
</script>
<template>
<section class="w-full max-w-screen-lg m-auto">
<h1 class="mb-10 text-5xl font-bold text-center">ToDo List</h1>
<form class="mb-5">
<label for="toDo" class="block mb-3 text-xl font-bold">New ToDo</label>
<div class="flex justify-between gap-5">
<input
type="text"
id="toDo"
class="w-3/4 px-3 py-4 rounded text-black"
placeholder="할 일을 입력해 주세요."/>
<button class="w-1/4 bg-slate-500 rounded">추가하기</button>
</div>
</form>
<div>
<div class="flex gap-2">
<button>등록순</button>
<i>|</i>
<button>최신순</button>
</div>
<ul>
<li
v-for="(list, key) in toDoList"
:key="key"
class="flex justify-between items-center gap-5 mt-5 px-5 py-2 border rounded">
<p class="flex gap-5 text-lg">
<span>{{ key + 1 }}.</span> {{ list.content }}
</p>
<button class="px-5 py-2 bg-slate-500 rounded">
삭제
</button>
</li>
</ul>
<button class="block w-1/3 mt-10 m-auto px-3 py-4 bg-slate-400 rounded">
전체 삭제하기
</button>
</div>
</section>
</template>
'Vue, Nuxt > Nuxt 3 ToDo 만들기' 카테고리의 다른 글
[Nuxt3] #6 ToDo List 만들기 - Nest.js + PSQL 연결하기 (useFetch()) (1) | 2023.12.22 |
---|---|
[Nuxt3] #5 ToDo List 만들기 - meta 태그 추가하기 (0) | 2023.11.30 |
[Nuxt3] #4 ToDo List 만들기 - 깃허브 페이지 배포하기 (0) | 2023.11.30 |
[Nuxt3] #3 ToDo List 만들기 - 등록순/최신순 정렬하기 (0) | 2023.11.30 |
[Nuxt3] #2 ToDo List 만들기 - Pinia store로 ToDo 추가, 삭제하기 (0) | 2023.11.29 |