강의명: [인프런] Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
강사: 캡틴판교
skill: JavaScript, Vue.js, ES6, Vuex
- Vue CLI를 이용한 프로젝트 구성 방법
- 컴포넌트 기반 설계 방법
- 컴포넌트 구조화 및 컴포넌트 통신 방법
- ES6를 이용한 효율적이고 간결한 Vue 코딩 방법
- Vuex를 이용한 상태 관리의 이해 및 적용 방법
데이터 관리, 변경
App.vue
마크업, UI적으로 표현
TodoHeader.vue
TodoInput.vue
TodoList.vue
TodoFooter.vue
common/Modal.vue
- data
- computed
- methods
- props: 부모 > 자식
- $emit: 자식 > 부모
- state
Vue의 data 와 같은 역할
this.$store.sate.message 로 접근 - getters
Vue의 computed 와 같은 역할
this.$store.getters.getNumber 로 접근 - mutation
vue의 methods 와 같은 역할
this.$store.commit('printNumber') 인자값 없을 때
this.$store.commit('printNumber', 20) 인자값 1개일때
this.$store.commit('printNumber', { add, 20 }) 인자값 n개일 때 obj 로 보내준다. - actions
비동기 처리, 데이터요청
- state -> mapState
- getters -> mapGetters
- mutations -> mapMutations
...mapMutaions([ 'clickBtn', 'addNumber' ]) - actions -> mapActions
- import
- export
데이터를 Container Component 에서 관리, 변경해야 유지보수하기 쉽다.
TodoInput 에서 할 일 입력 후 enter or + 클릭시 생성 기능
+) 빈칸 입력 시 모달 창에서 '내용을 입력하세요' 노출
TodoList 에서 할 일 목록 완료 true /미완료 false 변경 기능