중화사전망 - 서예자전 - VUE, VUE 의 데이터 중심 원칙이 무엇인지 이해하고 설명하는 방법
VUE, VUE 의 데이터 중심 원칙이 무엇인지 이해하고 설명하는 방법
먼저 인스턴스화하는 동안 vuejs 는 오브젝트 옵션의 데이터를 인스턴스화합니다.
옵션을 사용하여 모든 속성을 반복하고 Object.defineProperty 를 사용하여 모든 속성을 getter/setter 로 변환합니다. 또한 각 인스턴스 객체에는 watcher 인스턴스 객체가 있습니다. 그는 템플릿 컴파일 시 getter 를 사용하여 데이터 속성에 액세스합니다. 이때 watcher 는 사용된 데이터 속성을 종속성으로 기록하여 뷰와 데이터 간의 연결을 설정합니다. 나중에 렌더링된 뷰의 데이터 종속성이 변경되면 (즉, 데이터를 호출하는 setter) watcher 는 앞뒤 두 값이 변경되었는지 여부를 비교한 다음 뷰 다시 렌더링에 통보할지 여부를 결정하여 데이터 중심 뷰를 구현합니다. 통속적으로 말하자면, 이것은 우리가 평범하다는 것을 의미한다
HTML 템플릿에서 특수 구문을 사용하여 DOM 을 기본 데이터에 "바인딩" 합니다. 바인딩을 만든 후에는 DOM 이 데이터와 동기화됩니다. 데이터가 수정될 때마다 DOM 이 그에 따라 업데이트됩니다. 이렇게 하면 응용 프로그램의 거의 모든 논리가 데이터를 직접 수정하므로 DOM update 와 혼동할 필요가 없습니다. 이를 통해 코드를 쉽게 작성, 이해 및 유지 관리할 수 있습니다.
Vue.js 의 데이터 드라이버는 MVVM 프레임워크를 통해 구현됩니다. MVVM 프레임워크는 주로 모델, 뷰 및 뷰 모델의 세 부분으로 구성됩니다.
Model: 프런트 엔드에 해당하는 데이터 부분을 나타내며 JavaScript 객체와 같습니다.
View: DOM 에 해당하는 프런트 엔드가 있는 뷰 부분을 나타냅니다.
뷰 모델: 뷰와 데이터를 연결하는 미들웨어 통신입니다.
데이터 (모형) 와 뷰 (뷰) 는 직접 통신할 수 없지만 ViewModel 을 통해 통신해야 합니다. ViewModel 은 데이터가 변경될 때 이러한 변경 사항을 모니터링하고 view 에 적시에 변경을 알릴 수 있습니다. 마찬가지로 페이지가 이벤트에 의해 트리거되면 viewMOdel 도 이벤트를 수신하여 MOdel 에 응답하도록 알릴 수 있습니다. Viewmodel 은 관찰자와 동등하며, 쌍방의 행동을 감시하고, 상대방에게 적절한 조치를 취하도록 제때에 통지한다.