TIL - 41 : Vue, Vuex
in Study Log on Today I learned

Vue
- 데이터들 저장
export default{ data() { return { data:data } } }
- 함수
export default{ methods: { countUp() { this.data++ } } }
data의 접근은
this.키워드를 붙임- 컴포넌트 사용 단계
- 컴포넌트.vue 를 만든다.
export default { name: 컴포넌트이름 }export 한다.- 받는 곳에서 import를 한다.
- 받는곳에서
export default { components: { 작명 : 컴포넌트이름} }을 한다.
- Props 전달 방법
<Component :props="props" :another_props="another_props">
이렇게 컴포넌트에 v-bind 해서 전달 해 준다.- 받는곳에서
export default { props: { props_name : data타입 } }
- 자식에서 부모로 자료 전달 방법
- 자식에서 클릭 이벤트를 주어야 할때
<div @click="$emit('openModal', item.data)></div>$emit()이라는 것으로 보냄 첫번째 인자는 이벤트 이름 두번째는 전달 할 데이터(생략가능)
- 부모에는
@openModal="OpenCloseModal=true; id=$event;"- 앞에 전달받은 이벤트 이름과 함께 클릭 했을때 실행 할 함수나 데이터를 설정
- 전달받은 데이터는
$event로 받음
- 자식에서 클릭 이벤트를 주어야 할때
- emit은 함수로도 만들어서 쓸 수 있음
Vuex
vuex 는 vue의 전역 상태 관리
- 데이터의 흐름
Backend API <-> Actions -(Commit)-> Mutations -(Mutate)-> State
- State: 공통으로 사용할 변수
- Mutation: State를 변경하는 변수, Action에서 State를 수정하려면 필수
- 접근방법
- State :
this.$store.state.items - Mutation :
context.commit('MUTATION_NAME', data) - Dispatch :
this.$store.dispatch('MUTATION_NAME')
- State :
- template에 표시
- 반복문
<div v-for="data in this.$store.state.data"></div> - mapState로 줄여서 할 수 있음
- 반복문
- 코드의 양이 많아지면 모듈화