vuejs / vue.js / 뷰js/ 데이터 watch / array watch /
vuejs에서 object 를 watch 하는 법
보통 단순한 값들은 아래처럼 data 를 watch 를 할 수 있다.
props: ['yourProp'],
data: {
yourPropChanged: false
},
watch: {
yourProp (val, oldVal) {
if (val !== oldVal) this.yourPropChanged = true
}
}
그런데 ‘yourProp’ 의 값이 object 인 경우는 아래처럼 해줘야 한다. 아래처럼 해주지 않으면, watch가 안된다.(watch 에 정의한 function 을 호출하지 않는다.)
props: ['yourProp'],
data() {
return {
myobject: {
prop1: "a",
prop2: "b",
}
}
},
watch: {
yourProp: {
handler(newVal, oldVal) {
// do something with the object
},
deep: true,
},
},
한개의 값만을 watch 하려 할때는 아래처럼 하면 된다.
watch: {
'myobject.prop1' : function(newVal, oldVal) {
// do something here
}
}
See Also
- javascript - Redraw Highcharts on Vuejs app - Stack Overflow : vue component 가 아닌 chart 에서 redraw 를 호출하는 방식
댓글 없음:
댓글 쓰기