>웹 프론트엔드 >프런트엔드 Q&A >각도 더티 값 감지와 Vue 데이터 하이재킹의 차이점은 무엇입니까?

각도 더티 값 감지와 Vue 데이터 하이재킹의 차이점은 무엇입니까?

青灯夜游
青灯夜游원래의
2020-12-16 16:27:512773검색

차이점: 1. 각도 더티 값 감지는 원칙적으로 저가형 IE를 지원하며 이론적으로 더 나은 호환성을 제공합니다. vue 데이터 하이재킹에는 ES5를 지원하는 브라우저가 필요합니다. 2. 각도 더티 값 감지는 데이터 양이 많은 업데이트에 적합하고, Vue 데이터 하이재킹은 데이터 양이 적은 업데이트에 적합합니다.

각도 더티 값 감지와 Vue 데이터 하이재킹의 차이점은 무엇입니까?

관련 권장사항: "angular tutorial", "vue.js tutorial"

데이터 바인딩을 구현하는 방법은 대략 다음과 같습니다:

  • Publisher-Subscriber Pattern (backbone) .js )

  • 더티 값 검사(angular.js)

  • 데이터 하이재킹(vue.js)

Angular에서 더티 값 감지

angular.js가 더티 값 감지를 통해 이루어지는지 비교 가장 간단한 방법은 setInterval()을 통해 데이터 변경을 감지하기 위해 정기적으로 폴링하는 것입니다. 물론 Google은 지정된 이벤트가 트리거될 때만 더티 값 감지를 입력합니다. , 대략 다음과 같습니다.

  • 사용자가 텍스트를 입력하거나 버튼을 클릭하는 등의 DOM 이벤트입니다. (ng-클릭)

  • 장점과 단점
  • 원칙적으로 저사양 IE를 지원하고(최초의 NG는 IE8을 지원한다는 점 참고), 이론상으로는 호환성이 더 좋습니다
  • 적합합니다 많은 양의 데이터를 업데이트하는 경우 CPU 수준의 시간 복잡도는 O(VModel )이므로 업데이트된 소량의 차이는 계산상 낭비입니다
  • React와 유사하게 Immutable.js의 휠과 아이디어를 최적화하는 것을 고려할 수 있습니다. + Redux + Immer

setState와 마찬가지로 수동으로 호출해야 하며 Zone.js를 도입한 후 편리합니다. 일부 대규모 업데이트에는 이 문제가 있습니다

  • vue에서 데이터 하이재킹
  • 데이터 하이재킹은 주로 ES5에서 제공하는 Object.defineProperty 메소드를 통해 구현됩니다. 이 메소드는 데이터에 대한 작업을 모니터링하여 데이터가 동기식으로 자동 트리거될 수 있도록 합니다. 또한 동기화가 서로 다른 데이터에 대해 실행되므로 모든 데이터에 대해 테스트를 수행하는 대신 변경 내용을 바인딩된 뷰에 정확하게 전송할 수 있습니다.
  • 데이터와 뷰의 바인딩과 동기화는 궁극적으로 데이터의 읽기 및 쓰기 프로세스, 즉 Object.defineProperty()에 의해 정의된 데이터 세트 및 get 함수에 반영됩니다.

  • 장점과 단점
  • JavaScript 기본 기능을 사용하지만 ES5를 지원하는 브라우저도 필요합니다. 결국 프런트 엔드는 미래 프로그래밍을 지향하므로 Vue 3는 ES6 프록시 구현으로 업그레이드할 계획입니다

작은 데이터 양(세분성)에 적합하며 CPU 수준의 시간 복잡도는 O(변경)이며 더 많은 메모리 사용량(시간에 대한 공간)이 필요합니다.

종속성 수집의 세분성을 줄입니다. 특정 속성만 신경쓰면(객체가 변경됨) 메모리 문제를 최적화할 수 있습니다

실제로 Vue 2는 Virtual DOM을 도입하고 diff를 사용하여 하위 구성 요소 수준에서 업데이트합니다

  • 차이점 둘 사이
  • 각도 더티 값 감지 원칙적으로는 저사양 IE를 지원하고(초기 NG는 IE8을 지원한다는 점을 기억하세요), 이론적으로는 더 나은 호환성을 갖고 있지만, Vue 데이터 하이재킹에는 ES5를 지원하는 브라우저가 필요합니다.
  • 각도 더티 값 감지는 대량의 데이터가 있는 업데이트에 적합하고, Vue 데이터 하이재킹은 소량의 데이터(세분성)가 있는 업데이트에 적합합니다.

  • 관련 권장 사항:

2020 프론트엔드 vue 인터뷰 질문 요약(답변 포함)

vue 튜토리얼 권장 사항: 2020년 최신 5 vue.js 비디오 튜토리얼 선택

더 많은 프로그래밍 관련 지식을 원하시면 문의하세요. 방문:

프로그래밍 입문

! !

위 내용은 각도 더티 값 감지와 Vue 데이터 하이재킹의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.