이제 Vue의 감지 시퀀스에 객체의 새로운 속성을 추가하는 방법을 공유하겠습니다. 이는 좋은 참조 값을 가지며 모든 사람에게 도움이 되기를 바랍니다.
vue
deepCopy(o1, o2) { // 将o2的内容拷贝给data中的o1 var key, i if (o2 instanceof Array) { for (i = 0; i < o2.length; i++) { if (o2[i] instanceof Array) { this.$set(o1, i, []) this.deepCopy(o1[i], o2[i]) } else if (o2[i] instanceof Object) { this.$set(o1, i, {}) this.deepCopy(o1[i], o2[i]) } else { this.$set(o1, i, o2[i]) } } } else if (o2 instanceof Object) { for (key in o2) { if (o2[key] instanceof Array) { this.$set(o1, key, []) this.deepCopy(o1[key], o2[key]) } else if (o2[key] instanceof Object) { this.$set(o1, key, {}) this.deepCopy(o1[key], o2[key]) } else { this.$set(o1, key, o2[key]) } } } else { o1 = o2 } }
Vue는 루트 수준 반응 속성의 동적인 추가를 허용하지 않기 때문에 인스턴스를 초기화하기 전에 루트 수준 반응 속성을 선언해야 합니다. 그냥 null 값
속성을 미리 선언하지 않고 나중에 추가하면 변경 사항을 감지할 수 없습니다. 일부 고정된 구조의 경우 변경 사항이 감지될 수 있습니다. 예를 들어, obj에는 key1 및 key2 속성이 있어야 하며 이를 미리 초기화할 수 있다는 것을 알고 있습니다. 이런 것들이 역동적이라면 미리 말씀드릴 수는 없습니다. 나중에 추가하면 vue가 변경 사항을 감지할 수 없습니다.
이때, 데이터에 선언한 변수와 변수에 할당하려는 값을 매개변수로 함수에 전달하면 됩니다.
위 내용은 모두에게 도움이 되기를 바랍니다. 미래에.
관련 기사:
Vue가 배열이나 객체의 변경 사항을 감지할 수 없는 문제를 해결하는 방법은 무엇입니까?
vue에서 감시 개체 및 해당 값의 변경 사항을 구현하는 방법
모니터링 경로 변경 및 모니터링 개체 감시(상세 튜토리얼)
위 내용은 Vue의 감지 시퀀스에 객체의 새로운 속성을 추가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!