본문 바로가기

엉터리 개발 이야기/vue

[Vue] Object, Array 형태 Watch 시 유의점..?

반응형

Object, Array 일 경우에는 


obj.a = 1

로 변경하면 트리거가 안된다.


// arr: {
    //  handler: function(cur, prev) {

    //    console.log(cur)
    //    console.log(prev)         
    //  },
    //  deep: true
    // },


이렇게 해줘도 cur값과 prev가 동일하다..


변경된 내용을 다시 재할당 해야한다.?


let copyArr = Object.assign({}, this.arr)

또는 이렇게 let copyArr = {...this.arr}

copyArr.a = 1

this.arr = copyArr

하면 cur, prev를 확인할 수 있다.

Vue.set(this.arr, 'e', 1) 새로 추가된 property는 트리거가 되지만

Vue.set(this.arr, 'a', 123) 변경된 property에 대해서는 트리거가 안된다..??



제대로 수업을 안들어서 까먹었다..다시 복습



반응형