> 웹 프론트엔드 > JS 튜토리얼 > Vue의 감지 시퀀스에 객체의 새로운 속성을 추가하는 방법은 무엇입니까?

Vue의 감지 시퀀스에 객체의 새로운 속성을 추가하는 방법은 무엇입니까?

亚连
풀어 주다: 2018-06-04 16:38:11
원래의
1738명이 탐색했습니다.

이제 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿