Heim > Artikel > Web-Frontend > Was ist vm in vue
In Vue ist VM die Abkürzung für ViewModel, was „Ansichtsmodell“ bedeutet und die Brücke zwischen Ansicht und Modell darstellt. ViewModel kann Datenänderungen überwachen und dann die entsprechende Ansicht benachrichtigen, damit sie automatisch aktualisiert wird, wodurch eine bidirektionale Bindung erreicht wird.
Die Betriebsumgebung dieses Artikels: Windows 10-System, Vue Version 2.9.6, DELL G3-Computer.
VM ist eigentlich ViewModel – Ansichtsmodell.
MVVM View-Model-ViewModel
[Ansicht] bezieht sich auf die Seite, die Sie sehen, [Modell] bezieht sich auf die vom Backend übergebenen Daten.
[Ansichtsmodell] Der Kern des MVVM-Modells ist die Brücke, die die Ansicht und das Modell verbindet. Es hat zwei Richtungen:
Eine ist: Konvertieren des [Modells] in [Ansicht], dh Konvertieren der Daten vom Backend an alle übergeben Siehe Seite. Der Weg, dies zu erreichen, ist: Datenbindung.
Die zweite ist: Konvertieren Sie [Ansicht] in [Modell], dh konvertieren Sie die angezeigte Seite in Back-End-Daten. Die Implementierung erfolgt wie folgt: DOM-Ereignisüberwachung.
Diese beiden Richtungen werden implementiert, wir nennen es [bidirektionale Bindung] von Daten.
Unter dem MVVM-Framework können Ansichten und Modelle nicht direkt kommunizieren. Sie kommunizieren über ViewModel. ViewModel implementiert normalerweise einen Beobachter. Wenn sich die Daten ändern, kann ViewModel die Änderung der Daten überwachen und dann die entsprechende Ansicht benachrichtigen, um sie automatisch zu aktualisieren.
Wenn der Benutzer die Ansicht bedient, kann das ViewModel auch die Änderungen in der Ansicht überwachen und dann die Daten benachrichtigen, um Änderungen vorzunehmen. Dadurch wird tatsächlich eine bidirektionale Datenbindung realisiert. Und View und ViewModel in MVVM können miteinander kommunizieren.
【Verwandte Empfehlung: „vue.js Tutorial“】
Das obige ist der detaillierte Inhalt vonWas ist vm in vue. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!