2016-05-23 3 views
-3

Ich bin neu in eckigen js. Ich möchte den Unterschied zwischen MVVM und MVC-Framework kennen und welche ist am besten für angulr js.Was ist das beste Muster für eckige js: MVVM oder MVC?

Ich weiß über MVC und MVVM Muster, aber ich kann nicht finden, welches ist das beste und warum?

Danke, Hitesh

+0

Angular ist eine MVC-Architektur .... gut mindestens bis zu 2 ist. Aber Sie tun, was in Ihrer Anwendung Sinn macht. –

+0

Danke für Ihre wertvolle Antwort – Hitesh

Antwort

1

In MVVM, die UI (die Ansicht), dem Benutzer zugewandt und nimmt direkt Benutzereingabe. Innerhalb der View werden Befehle innerhalb des ViewModel (der DataContext der View) durch diese Aktivität ausgelöst. Die Steuerung fließt zum ViewModel, das interpretiert, was die View gesendet hat, und bereitet ihre Modelle vor. Nachdem die Kontrolle wieder in die Ansicht zurückkehrt, aktualisiert sie sich entsprechend den Änderungen in den Modellen. Wenn eine neue Ansicht erforderlich ist, kommuniziert das ViewModel diese mit dem NavigationService (oder welcher Navigationsmethode auch immer Ihre Anwendung verwendet), was der Bereich der Window- oder Frame-UI-Komponenten ist. Sie können sehen, dass das ViewModel nicht zuerst und zuletzt aktiv ist. Die Ansicht spielt eine viel größere Rolle als in MVC.

Die Architektur von WPF/Silverlight ist der Grund, warum Dinge so gemacht werden. Die Befehls-, Binde- und Navigationsinfrastrukturen können nicht vom Controller gesteuert/ersetzt werden; Sie sind eng in die Benutzeroberfläche integriert. Daher muss der Controller unter der Ansicht sitzen und eine eher passive Rolle einnehmen.

0

AngularJS ist MV * (MV was auch immer), es kann MVC oder MVVC sein.

  1. Beispiel für MVC ist das Binden von Daten, die mit der Interpolation {{}} angezeigt werden sollen. Sie können die Ansicht mithilfe des Controllers aktualisieren.

  2. Beispiel für MVVC ist Zwei-Wege-Datenbindung mit ngModel. Wenn Sie ein ngModel an das Eingabe-Tag binden. Der im Eingabefeld geänderte Wert wird im Controller aktualisiert. Im Controller geänderter Wert wird im Eingabefeld aktualisiert.

Verwandte Themen