MVC에서 View가 Model에 직접 액세스할 수 있는 MVVM 및 MVC 디자인 패턴이 무엇인지 간략하게 살펴보겠습니다. 따라서 뷰에는 모델 정보와 필연적으로 일부 비즈니스 로직이 포함됩니다.
1. MVVM과 MVC의 차이점은 무엇인가요?
MVC에서는 View가 Model에 직접 접근할 수 있습니다! 따라서 뷰에는 모델 정보와 필연적으로 일부 비즈니스 로직이 포함됩니다. MVC 모델은 모델의 불변성에 중점을 둡니다. 따라서 MVC 모델에서 모델은 뷰에 의존하지 않지만 뷰는 모델에 의존합니다. 뿐만 아니라 일부 비즈니스 로직은 View에서 구현되기 때문에 View를 변경하는 것도 어렵습니다. 최소한 MVC의 모든 통신은 단방향입니다. 개념적으로 MVVM은 페이지와 데이터 로직을 완전히 분리하고 양방향 데이터 바인딩을 달성할 수 있는 패턴입니다.
3. MVVM과 코드는 어떻게 일치하나요?
4. MVVM 모델을 사용하는 프레임워크는 무엇인가요?
5 MVC, MVP 등 MVVM 패턴을 사용하는 프런트엔드 프레임워크가 많이 있습니다. , MVVM 사용 시나리오?
위의 장단점에서 알 수 있듯이 MVC->MVP->MVVM으로 가는 것은 마치 몬스터를 물리치고 업그레이드하는 과정과 같습니다. 후자는 전자가 남긴 문제를 해결하고 전자의 단점을 장점으로 최적화하며 실제 프로젝트에 따라 가장 적합한 프레임워크를 선택합니다.
Angular에는 MV*의 모든 부분이 포함되어 있으며 자체 규칙 세트가 있으므로 PC에 적합하지만 코드 구조가 더 명확해집니다. Avalon은 가볍고 이전 브라우저에 대한 지원 수준이 높습니다. IE6이므로 Lao Liu 브라우저와 호환되는 프로젝트에 적합합니다. Vue는 주로 가볍고 MV*의 보기 부분으로만 사용됩니다. 가볍고, 배우기 쉽고, 사용하기 쉽다는 장점이 있습니다. 대규모 프로젝트에서는 다른 프로젝트와 협력해야 하기 때문에 프레임워크나 라이브러리를 사용하는 것이 더 번거롭습니다.
MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性糅合进去,以应对客户日益复杂的需求变化。
현재 양방향 데이터 바인딩을 구현하는 세 가지 주요 방법이 있습니다.
1. 수동 바인딩
이전 구현 방법은 관찰자 프로그래밍 모드를 사용합니다. 주요 아이디어는 데이터 개체에 대한 get 및 set 메서드를 정의하는 것입니다. 호출 시 데이터 가져오기 또는 설정을 수동으로 호출하고 데이터 변경 후 UI 레이어의 렌더링 작업을 트리거합니다. 뷰가 데이터 변경을 구동하는 장면은 주로 입력, 선택, 텍스트 영역 등과 같은 요소에 적용됩니다. UI 레이어가 변경되면 dom, keypress, keyup 및 기타 이벤트의 변경을 모니터링하여 데이터 레이어의 데이터를 변경하는 이벤트를 트리거합니다. 전체 프로세스는 함수 호출을 통해 완료됩니다.
2. 더티 감지 메커니즘
일반적인 mvvm 프레임워크인 anglejs로 대표되는 각도는 더티 데이터를 확인하여 UI 레이어 작업을 업데이트합니다. Angular의 더티 감지에 대해 알아야 할 몇 가지 사항이 있습니다.
더티 감지 메커니즘은 예약된 감지를 사용하지 않습니다.
더티 감지 시점은 데이터가 변경되는 시점입니다.
Angular는 일반적으로 사용되는 DOM 이벤트, XHR 이벤트 등을 캡슐화하고 Angular에 들어가는 다이제스트 프로세스를 트리거합니다.
다이제스트 프로세스에서는 루트스코프에서 탐색하여 모든 감시자를 확인합니다. (Angular의 특정 디자인에 대해서는 다른 문서를 볼 수 있습니다. 여기서는 데이터 바인딩만 논의합니다.) 그런 다음 더티 감지를 수행하는 방법을 살펴보겠습니다. 주로 설정된 데이터를 통해 데이터와 관련된 모든 요소를 찾은 다음 비교합니다. 데이터가 변경되고, 변경되면 명령 연산이 수행됩니다.
3. 프런트 엔드 데이터 하이재킹(Hijacking)
기본 아이디어는 Object.defineProperty를 사용하여 데이터 객체의 속성 가져오기 및 설정을 모니터링하는 것입니다. 데이터 읽기 및 할당 작업이 있을 때 노드 지침은 다음과 같습니다. 이것이 가장 효율적인 사용 방법입니다. 일반적인 = 등호 할당이면 충분합니다.
소프트웨어의 핵심은 데이터입니다. 데이터의 생성, 수정 및 기타 변경을 중심으로 비즈니스 로직이 나타납니다. 데이터 표시를 중심으로 다양한 인터페이스 기술이 등장했습니다. 잘 설계된 코드가 없으면 데이터 계층(지속성 계층), 비즈니스 논리 계층 및 인터페이스 코드가 결합되는 경우가 많습니다.
mvc는 뷰와 모델의 완전한 분리를 달성하지 못하지만 mvvm은 이를 달성하므로 이로 인해 mvc에서 mvvm으로 전환됩니다.
관찰자 모드.
관련 권장 사항:
동영상: JavaScript 동영상 튜토리얼
동영상: WeChat 미니 프로그램 초등 개발 동영상 튜토리얼
위 내용은 javaScript——mvvm과 mvc 디자인 패턴의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!