지난 글에 이어 이번에는 수정 기능을 추가했다. 😀 할 일 목록을 추가할 때와 수정할 때 폼이 동일해서 TodoInpuForm이라는 컴포넌트로 분리했고 추가, 수정 함수를 callback props로 받았다. 추가, 수정일 때 버튼의 문자도 다르게 노출시켰다. 수정 일 때는 입력한 텍스트를 노출해야 하기 때문에 옵션으로 기본 텍스트 값을 추가했다. // TodoInputForm.vue {{ mode === 'add' ? 'ADD' : 'EDIT' }} 할 일을 추가할 때는 defaultText가 필요하지 않기 때문에 props를 생략했고 수정할 때는 defaultText를 props로 전달했다. // pages/create.vue Create Todo // pages/edit.vue Edit Todo U..
nuxt를 학습한 후 Todo App을 만들었다. 이전과 다르게 라우터를 사용하기 위해서 List와 Create 페이지를 분리했다. 가장 먼저 네비게이션 바 컴포넌트를 만들었다. 컴포넌트 옵션에 name 지정하지 않으면 그 컴포넌트를 가져오는 곳에 이름이 kebab-case 변환돼서 사용할 수 있다. // NavBar.vue List | Create // index.vue // kebab-case 그리고 기존에 store를 가져와서 약간만 수정했다. 모듈 방식으로 스토어를 사용하도록 아래와 같이 변경하였다. store 내부 구조를 파악해서 알아서 모듈 방식으로 변경해 준다. 특이한 점은 기존은 state를 JSON으로 반환했는데 함수를 반환한다. Singleton 으로 상태를 같은 값으로 반환해주기 위해..
Vue Mastery에 Intro 학습하고 나서 Todo App을 구현해 봤다. 프로젝트는 Vue CLI로 손쉽게 구성할 수 있었다. Vue CLI 설치한 후 vue ui 명령을 수행하면 프로젝트를 웹페이지에서 쉽게 설정할 수 있다. 👍 .prettierrc.js 파일을 설정하여 몇 가지 규칙을 추가했다. module.exports = { singleQuote: true, semi: false, } 프로젝트를 생성하면 기본적으로 만들어 주는 페이지 중에 Home은 그대로 두고 About 페이지를 Todo로 변경해서 진행했다. 구현한 기능은 다음과 같다. - 할일 추가, 삭제, 수정 - 완료된 할 일 목록, 남은 할 일 목록, 전체 할 일 목록 보여주기 - 완료한 할일 모두 삭제 Todo App {{ ed..