본문 바로가기
웹(web)/프론트엔드-vue

v-for using object

by 바코94 2020. 7. 9.

v-for에서 반복할 대상이 객체인 경우에는 키별로 반복이 된다. 배열을 쓸 때와 약간 다르므로 문법을 비교해보자.

 

 

배열 같은 경우는 push나 pop같은 것을 쓰면 데이터 변경시 반응성을 가진다. 하지만 객체 obj는 생성될 때 name 과 age 속성만 있었으므로 다른 속성을 동적으로 추가해도 반응성을 가지지 못한다. 

 

이에 대한 해결 방법은 

vm.obj 의 참조 값에 새로운 객체를 다시 할당시키는 방법이다. gender: male 속성을 추가해보자.

vm.obj = Object.assign({}, vm.obj,  { gender: male} ) 

 

위 코드를 통해 obj는 새로운 객체를 참조하게 되고 이 새로운 객체는 만들어 질 때 기존 obj 속성들과 gender 속성을 가지므로 모두 반응성을 가진다. Vue에서 데이터가 반응성을 갖기 위해서는 만들어 질 때 존재해야 함을 주의하자. 

'웹(web) > 프론트엔드-vue' 카테고리의 다른 글

v-on event handler 등록  (0) 2020.07.09
반응성 유지하면서 데이터 주입  (0) 2020.07.09
v-show vs v-if  (0) 2020.07.09
v-if  (0) 2020.07.08
Vue reactivity  (0) 2020.07.08