国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Heim php教程 PHP開發(fā) Hinweise zu Vue.js und MVVM

Hinweise zu Vue.js und MVVM

Dec 07, 2016 pm 02:34 PM
mvvm vue.js

MVVM ist die Abkürzung für Model-View-ViewModel. Es handelt sich um ein Architekturmuster, das auf der Front-End-Entwicklung basiert. Sein Kern besteht darin, eine bidirektionale Datenbindung von View und View Model bereitzustellen, die die Zustands?nderungen von View Model erm?glicht automatisch an View übergeben werden soll, wird dies als bidirektionale Datenbindung bezeichnet.

Vue.js ist eine Javascript-Bibliothek, die eine bidirektionale Datenbindung im MVVM-Stil bietet und sich dabei auf die Ansichtsebene konzentriert. Sein Kern ist die VM in MVVM, n?mlich ViewModel. ViewModel ist für die Verbindung von View und Model verantwortlich, um die Konsistenz von Ansicht und Daten sicherzustellen. Diese schlanke Architektur macht die Front-End-Entwicklung effizienter und komfortabler.

Warum erscheint MVVM?

Ich kam 2015 mit MVVM in Kontakt. Man kann sagen, dass 2015 das hei?este Jahr für MVVM war. Davor wusste ich nur, dass MVC vor etwa 5 Jahren, also im Jahr 2011, eingeführt wurde Als ich jung war, lernte ich gerade Programmiersprachen und das klassische SSH-Framework in Java, um eine Standard-MVC-Architektur zu erstellen. Um ehrlich zu sein, habe ich die MVC-Architektur schon seit so vielen Jahren verwendet, aber ich habe nie ein tiefes Verst?ndnis davon gehabt, bis ich mit Vue.js in Berührung gekommen bin Die MVVM-Architekturideen, und als ich dann auf MVC zurückblickte, wurde mir pl?tzlich klar, dass MVC die Abkürzung für Model-View-Controller ist, was mit anderen Worten ?a“ bedeutet Eine Standard-Webanwendung besteht aus diesen drei Teilen:

Ansicht wird verwendet, um dem Benutzer auf irgendeine Weise Daten zu pr?sentieren

Modell sind eigentlich Daten

Controller empf?ngt und verarbeitet Anfragen von Benutzer und gibt das Modell an den Benutzer zurück

in den Jahren, bevor HTML5 popul?r wurde, galt MVC als beste Methode für Webanwendungen. Dies liegt daran, dass die Ansichtsebene von Webanwendungen relativ einfach ist und die Daten Die vom Front-End ben?tigte Ansichtsschicht dient haupts?chlich der Anzeige. Damals wurde der Controller für die Verarbeitung komplexer Gesch?ftslogiken empfohlen, sodass die Ansichtsschicht relativ leichtgewichtig war Thin-Client-Idee.

Von 2010 bis 2011 war das Konzept von HTML5 ein Hype und begehrt. Im Jahr 2012 gab das W3C offiziell bekannt, dass die HTML5-Spezifikation offiziell fertiggestellt wurde. Als ich 2013 zum ersten Mal in das Unternehmen eintrat, kam ich mit Sench Touch in Kontakt, einem HTML5-Framework, das zum Erstellen mobiler Anwendungen verwendet wird. Das Frontend nutzt die MVC-Architektur und wird als eigenst?ndiges Projekt gepflegt.

Warum muss das Frontend entwickelt werden und MVC verwenden?

Im Vergleich zu HTML4 besteht der gr??te Vorteil von HTML5 darin, dass es einige sehr nützliche Funktionen für mobile Ger?te bietet, wodurch HTML5 in der Lage ist, Apps zu entwickeln. Die gr??ten Vorteile der Entwicklung von Apps mit HTML5 sind plattformübergreifende, schnelle Iteration und Um Arbeitskosten zu sparen und die übermittlungseffizienz zu steigern, begannen viele Unternehmen, herk?mmliche Apps umzuwandeln und ersetzten nach und nach native Seiten durch H5. Bis 2015 verfügten viele Apps auf dem Markt über mehr oder weniger eingebettete H5-Seiten.

Da H5 zum Erstellen der App verwendet wird, muss die Ansichtsschicht nicht nur Daten verwalten, verschiedene Zust?nde von Benutzervorg?ngen verwalten und auch verschiedene Benutzerbetriebsverhalten verwalten. usw. Daher ben?tigt das Frontend auch ein MVC-?hnliches Framework, um diese komplexen Logiken zu verwalten und die Entwicklung effizienter zu gestalten. Zu diesem Zeitpunkt hat sich MVC jedoch geringfügig ge?ndert:

UI-Layout anzeigen, Daten anzeigen

Modell verwaltet Daten

Controller reagiert auf Benutzervorg?nge und aktualisiert das Modell auf Ansicht

Dieses MVC-Architekturmuster scheint für Basisanwendungen in Ordnung zu sein und steht auch im Einklang mit der mehrschichtigen Idee der Softwarearchitektur. Tats?chlich hoffen die Menschen mit der kontinuierlichen Weiterentwicklung von H5, dass mit H5 entwickelte Anwendungen mit Native vergleichbar sein k?nnen oder der nativen App-Erfahrung nahekommen. Daher ist die Komplexit?t von Front-End-Anwendungen nicht mehr das, was sie einmal war. Zu diesem Zeitpunkt hat das Frontend drei wichtige Schwachstellen aufgedeckt:

1 Entwickler rufen eine gro?e Anzahl derselben DOM-APIs im Code auf, was die Verarbeitung umst?ndlich und redundant macht und die Wartung des Codes erschwert.

2. Eine gro?e Anzahl von DOM-Vorg?ngen verringert die Leistung beim Rendern der Seite und verlangsamt die Ladegeschwindigkeit, was sich auf das Benutzererlebnis auswirkt.

3. Wenn sich das Modell h?ufig ?ndert, müssen Entwickler die Ansicht aktiv aktualisieren. Wenn sich das Modell durch Benutzervorg?nge ?ndert, müssen Entwickler auch die ge?nderten Daten mit dem Modell synchronisieren Ist es umst?ndlich, aber es ist auch schwierig, den Status komplexer und sich ?ndernder Daten aufrechtzuerhalten?

Tats?chlich bestand das frühe Aufkommen von JQuery darin, dass das Front-End das DOM pr?ziser bedienen konnte, aber es l?ste nur das erste Problem, und die n?chsten beiden Probleme existierten immer mit dem Front-End.


Das Aufkommen von MVVM l?st die oben genannten drei Probleme perfekt.

MVVM besteht aus drei Teilen: Modell, Ansicht und Ansichtsmodell. Die Modellschicht stellt das Datenmodell dar, und die Gesch?ftslogik für Daten?nderung und -betrieb kann auch in der Ansicht definiert werden, die die UI-Komponente darstellt. welches für die Konvertierung des Datenmodells in die Benutzeroberfl?che verantwortlich ist. Wie gezeigt, ist ViewModel ein Objekt, das Ansicht und Modell synchronisiert.

Unter der MVVM-Architektur gibt es keine direkte Verbindung zwischen View und Model. Stattdessen interagieren sie über ViewModel. Die Interaktion zwischen Model und ViewModel erfolgt in beide Richtungen, sodass ?nderungen in View-Daten mit dem Modell synchronisiert werden . und ?nderungen an den Modelldaten werden sofort in der Ansicht widergespiegelt.

ViewModel verbindet die Ansichtsebene und die Modellebene durch bidirektionale Datenbindung, und die Synchronisierung zwischen Ansicht und Modell erfolgt vollst?ndig automatisch ohne menschliches Eingreifen, sodass sich Entwickler nur auf die Gesch?ftslogik konzentrieren müssen und keine manuellen Vorg?nge ben?tigen Auf die Synchronisierung des Datenstatus muss nicht geachtet werden. Die Verwaltung des komplexen Datenstatus wird vollst?ndig von MVVM verwaltet.

Details zu Vue.js

Vue.js kann als die beste Praxis der MVVM-Architektur bezeichnet werden. Es konzentriert sich nicht nur auf die bidirektionale Datenbindung. Vergleichen wir aber auch die leichtgewichtigen JS-Bibliotheken. Die API ist einfach und benutzerfreundlich. Es gibt vorgefertigte Tutorials zu den Grundkenntnissen von Vue, daher werde ich hier nicht auf Details eingehen. Werfen wir einen kurzen Blick auf einige Implementierungsdetails der bidirektionalen Bindung in Vue.js:

Vue. js verwendet den Getter und Getter des Object.defineProperty-Setters in Kombination mit dem Beobachtermuster, um die Datenbindung zu implementieren. Wenn Sie ein einfaches Javascript-Objekt als Datenoption an eine Vue-Instanz übergeben, durchl?uft Vue seine Eigenschaften und konvertiert sie mithilfe von Object.defineProperty in Getter/Setter. Die Getter/Setter sind für den Benutzer nicht sichtbar, aber intern erm?glichen sie Vue, Abh?ngigkeiten zu verfolgen und ?nderungen zu benachrichtigen, wenn auf Eigenschaften zugegriffen und diese ge?ndert werden.

Hinweise zu Vue.js und MVVM

Beobachterdaten-Listener, der alle Eigenschaften des Datenobjekts überwachen kann, den neuesten Wert abrufen und Abonnenten benachrichtigen kann Object.defineProperty intern. und Setter zum Implementieren des

Compile-Anweisungsparsers. Seine Funktion besteht darin, die Anweisungen jedes Elementknotens zu scannen und zu analysieren, die Daten gem?? der Anweisungsvorlage zu ersetzen und die entsprechende Aktualisierungsfunktion zu binden ??>

Watcher-Abonnent kann als Brücke, die Observer und Compile verbindet, Benachrichtigungen über jede Attribut?nderung abonnieren und empfangen und die entsprechende Rückruffunktion ausführen, die an die Anweisung

Dep-Nachrichtenabonnent gebunden ist, die ein Array verwaltet Intern l?sen Daten?nderungen für Collect-Abonnenten (Watcher) die Benachrichtigungsfunktion aus und rufen dann die Aktualisierungsmethode des Abonnenten auf.

Wenn new Vue() ausgeführt wird, tritt Vue einerseits in die Initialisierungsphase ein Durchl?uft die Datenoptionen und konvertiert sie mithilfe von Object.defineProperty in Getter/Setter, um Funktionen zur überwachung von Daten?nderungen zu implementieren Abonniert Watcher, um die Ansicht zu aktualisieren. Zu diesem Zeitpunkt fügt sich Wather zum Nachrichtenabonnenten (dep) hinzu und die Initialisierung ist abgeschlossen.

Wenn sich die Daten ?ndern, wird die Setter-Methode im Observer ausgel?st. Der Setter beginnt sofort mit dem Durchlaufen aller Abonnenten und ruft die Update-Methode des Abonnenten auf Wenn Sie eine Benachrichtigung erhalten, wird die Ansicht entsprechend aktualisiert und eine Datenbindung wird abgeschlossen.


Erkl?rung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Hei?e KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?e Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

PHP-Tutorial
1502
276
PHP implementiert die MVVM-Architektur: Grundprinzipien und Anwendungen PHP implementiert die MVVM-Architektur: Grundprinzipien und Anwendungen Jun 18, 2023 am 08:54 AM

Mit der rasanten Entwicklung von Webanwendungen richten immer mehr Entwickler ihre Aufmerksamkeit auf verschiedene neue Webentwicklungs-Frameworks und architektonische Entwurfsmuster. Eines der bekanntesten Entwurfsmuster ist das MVVM-Architekturmuster (ModelViewViewModel). MVVM übernimmt ein modernes Designmuster, das es Entwicklern erm?glicht, Anwendungen durch die Trennung von Benutzeroberfl?che und Gesch?ftslogik besser zu verwalten und zu warten. Darüber hinaus reduziert MVVM unn?tige Kopplungen und verbessert die Wiederverwendbarkeit und Flexibilit?t des Codes.

Detaillierte grafische Erkl?rung zur Integration des Ace-Code-Editors in ein Vue-Projekt Detaillierte grafische Erkl?rung zur Integration des Ace-Code-Editors in ein Vue-Projekt Apr 24, 2023 am 10:52 AM

Ace ist ein in JavaScript geschriebener einbettbarer Code-Editor. Es entspricht der Funktionalit?t und Leistung nativer Editoren wie Sublime, Vim und TextMate. Es kann problemlos in jede Webseite und JavaScript-Anwendung eingebettet werden. Ace wird als Haupteditor für die Cloud9-IDE gepflegt und ist der Nachfolger des Mozilla Skywriter (Bespin)-Projekts.

Analysieren Sie das Prinzip der Implementierung der Kompositions-API durch Vue2 Analysieren Sie das Prinzip der Implementierung der Kompositions-API durch Vue2 Jan 13, 2023 am 08:30 AM

Seit der Ver?ffentlichung von Vue3 ist die Wortkompositions-API in das Blickfeld der Vue-Schreibenden gerückt. Ich glaube, jeder hat aufgrund der Ver?ffentlichung von @ immer geh?rt, wie viel besser die Kompositions-API ist als die vorherige Options-API. vue/composition-api-Plug-in, Vue2-Studenten k?nnen ebenfalls in den Bus einsteigen. Als N?chstes werden wir haupts?chlich Responsive Ref und Reactive verwenden, um eine eingehende Analyse durchzuführen, wie dieses Plug-In dies erreicht.

Lassen Sie uns darüber sprechen, wie Sie die Amap-API in vue3 verwenden Lassen Sie uns darüber sprechen, wie Sie die Amap-API in vue3 verwenden Mar 09, 2023 pm 07:22 PM

Als wir Amap verwendeten, empfahl uns der Beamte viele F?lle und Demos, aber diese F?lle verwendeten alle native Methoden für den Zugriff und stellten keine Demos von Vue oder React bereit. In diesem Artikel haben jedoch viele Leute über den Vue2-Zugriff geschrieben , wir werden einen Blick darauf werfen, wie vue3 die h?ufig verwendete Amap-API verwendet. Ich hoffe, es wird für alle hilfreich sein!

Erfahren Sie, wie Sie Unit-Tests in Vue3 schreiben Erfahren Sie, wie Sie Unit-Tests in Vue3 schreiben Apr 25, 2023 pm 07:41 PM

Vue.js ist heute ein sehr beliebtes Framework in der Front-End-Entwicklung. Da sich Vue.js st?ndig weiterentwickelt, werden Unit-Tests immer wichtiger. Heute untersuchen wir, wie man Unit-Tests in Vue.js 3 schreibt, und stellen einige Best Practices sowie h?ufige Probleme und L?sungen vor.

Eine kurze Analyse, wie Vue den Datei-Slicing-Upload implementiert Eine kurze Analyse, wie Vue den Datei-Slicing-Upload implementiert Mar 24, 2023 pm 07:40 PM

Im eigentlichen Entwicklungsprojektprozess ist es manchmal erforderlich, relativ gro?e Dateien hochzuladen, und dann ist der Upload relativ langsam, sodass das Front-End m?glicherweise das Hochladen von Dateiabschnitten erfordert. Dies ist beispielsweise sehr einfach Der Gigabyte-Dateistrom wird in mehrere kleine Dateistr?me aufgeteilt, und dann wird die Schnittstelle aufgefordert, die jeweiligen kleinen Dateistr?me zu liefern.

Detailliertes Beispiel für vue3, das den Schreibmaschineneffekt von chatgpt realisiert Detailliertes Beispiel für vue3, das den Schreibmaschineneffekt von chatgpt realisiert Apr 18, 2023 pm 03:40 PM

Als ich an der Chatgpt-Mirror-Site arbeitete, stellte ich fest, dass einige Mirror-Sites keine Schreibmaschinen-Cursor-Effekte hatten, sondern nur Textausgabe. Wollten sie das nicht? Ich m?chte es trotzdem tun. Also habe ich es sorgf?ltig studiert und die Wirkung von Schreibmaschine plus Cursor erkannt. Jetzt werde ich meine L?sung und Renderings teilen

Ein einfacher Vergleich der JSX-Syntax und der Template-Syntax in Vue (Analyse der Vor- und Nachteile) Ein einfacher Vergleich der JSX-Syntax und der Template-Syntax in Vue (Analyse der Vor- und Nachteile) Mar 23, 2023 pm 07:53 PM

In Vue.js k?nnen Entwickler zwei verschiedene Syntaxen zum Erstellen von Benutzeroberfl?chen verwenden: JSX-Syntax und Vorlagensyntax. Beide Syntaxen haben ihre eigenen Vor- und Nachteile. Lassen Sie uns ihre Unterschiede, Vor- und Nachteile besprechen.

See all articles