지식보부상님의 공부 일지

Vue [07-2] TodoList 예제 리팩토링 본문

KB IT's Your Life/Vue

Vue [07-2] TodoList 예제 리팩토링

지식보부상님 2025. 3. 27. 11:37

◈ 컴포넌트 분할 기준

- 한번에 변경되는 데이터를 렌더링하는 UI 단위로 컴포넌트 분할 -> 변경된 데이터만 다시 랜더링

◈ 데이터 관리

- 화면 단위의 데이터와 메서드 기능을 상위 컴포넌트에 집중

 

◈ 메서드

[메서드 목록]

 - addTodo(todo)

 - deleteTodo(id)

 - toggleCompleted(id)

 

[수신 이벤트 목록]

 - add-todo: 전달 인자-todo

 - delete-todo: 전달 인자-id

 - toggle-completed : 전달인자-id

 

컴포넌트

[컴포넌트 목록]

* App 컴포넌트

  - data: todoList 배열

  - methods: addTodo, deleteTodo, toggleCompleted 메서드

  - 수신 이벤트: add-todo, delete-todo, toggle-completed

 

* Input Todo 컴포넌트

  - data: todo 문자열 값

  - 발신 이벤트: add-todo

 

* TodoList 컴포넌트

  - props: todoList 배열 (todoList)

  - 발신이벤트: delete-todo(경유). toggle-completed(경유)

  - 수신이벤트: delete-todo(경유). toggle-completed(경유)

 

* TodoListItem 컴포넌트

  - props: todoItem( todoList 배열의 값 하나)

  - 발신 이벤트: delete-todo, toggle-completed