Vorwort: Wenn es um Statusverwaltung geht, denken Sie vielleicht sofort an: 1. Was ist Front-End-Statusverwaltung?Beispiel: Jeder in der Bibliothek kann die Bibliothek frei betreten, um Bücher auszuleihen und zurückzugeben. Wenn nicht viele Leute da sind, kann diese Methode die Effizienz verbessern und die Anzahl der Prozesse reduzieren. Wenn jedoch viele Leute da sind, kann es leicht zu Verwirrung kommen, der Verbleib der Bücher wird unklar oder sie gehen sogar verloren. Sie benötigen daher eine Bibliothekarin bzw. einen Bibliothekar, die bzw. der die Ausleihe von Büchern gezielt erfasst, das heißt, Sie müssen die Bibliothekarin bzw. den Bibliothekar damit beauftragen, Bücher für Sie auszuleihen und zurückzugeben. Tatsächlich basieren die meisten Lösungen zur Statusverwaltung auf der oben genannten Idee und verwenden Administratoren (wie Vuex), um das Ausleihen und Zurückgeben von Büchern in der Bibliothek zu regeln (Daten, die im Projekt gespeichert werden müssen). 2. Vuex Der Anteil von konstanter Zustand = { Buch: 0 } const Mutationen = { Ausleihbuch(Bundesland) { Zustand.Buch++ } } //Beim Aufruf von store.commit('borrow_book') Und was ist mit Tatsächlich verwende ich Vuex nur, um die damit verbundene Verwendung kurz vorzustellen. Jeder sollte damit vertraut sein. Welches Problem löst Vuex also?
Tatsächlich sind die meisten Programmierer faul (aus tiefstem Herzen) und wollen nur den Status zwischen mehreren Komponenten teilen, alles andere ist ihnen zweitrangig. Das typischste Beispiel ist die Anzahl der Artikel, die in den Einkaufswagen gelegt werden. Wenn ein Artikel hinzugefügt wird, wird der endgültige Gesamtbetrag über Vuex-Aufzeichnungen gespeichert und in der unteren Spalte angezeigt. Nun stellt sich die Frage: Wenn Ihr Ziel ja nur darin besteht, mehrere Zustände gemeinsam zu nutzen, warum verwenden Sie dann nicht einfach 3. Bus Tatsächlich ist der Bus sehr leichtgewichtig. Er hat keine Vue.prototype.$Bus = neues Vue() Anschließend können Sie Ereignisse über //Sende dieses Ereignis.$Bus.$emit('borrow_book', 1) // In jeder Komponente empfangen this.$Bus.$on('borrow_book', (book) => { console.log(`Ausgeliehenes ${book}-Buch`) }) Natürlich gibt es auch Operationen wie Wie wäre es damit? Ist das oben genannte zum Teilen eines Status viel einfacher als Vuex? Tatsächlich ist es viel einfacher, was aber auch bedeutet, dass es eher für kleine und mittelgroße Projekte geeignet ist. Bei großen Projekten verwirrt Sie Sein Arbeitsprinzip ist die Idee des Veröffentlichens und Abonnierens. Obwohl es sehr elegant und einfach ist, befürwortet Klasse Bus { Konstruktor() { // Abonnementinformationen sammeln, Dispatch-Center this.list = {}; } // Abonnieren$on(name, fn) { diese.Liste[Name] = diese.Liste[Name] || []; diese.Liste[Name].push(fn); } // Veröffentlichen $emit(name, data) { wenn (diese.Liste[Name]) { diese.Liste[Name].fürJeden((fn) => { fn(Daten); }); } } // Abmelden $off(name) { wenn (diese.Liste[Name]) { lösche diese.Liste[Name]; } } } Standardbus exportieren; Einfach, oder? Sie müssen es nur instanziieren und genauso verwenden, wie Sie es mit 4. Webspeicher Tatsächlich ist Es gibt drei Arten Unabhängig davon, welches dieser drei Formate Sie verwenden, wird dringend empfohlen, keine vertraulichen Informationen darin anzugeben. Es sollte verschlüsselt sein oder weniger wichtige Daten enthalten. Lassen Sie uns die drei kurz durchgehen: Zu cookie muss man nicht viel sagen. Wenn Leute Anfragen stellen, werden cokie häufig verwendet, um persönliche Daten usw. anzufordern, was für das, was wir besprechen werden, nicht sehr relevant ist.
Der einzige Unterschied zwischen Zusammenfassen: Unabhängig davon, für welche Lösung Sie sich entscheiden, empfiehlt es sich, diejenige auszuwählen, die zu Ihrem Projekt passt. Es gibt nicht die beste Lösung, sondern nur die Lösung, die zu Ihnen passt. Dies ist das Ende dieses Artikels über Front-End-Statusverwaltung. Weitere Inhalte zur Front-End-Statusverwaltung finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Begrenzung der Anzahl kurzfristiger Zugriffe auf eine bestimmte IP basierend auf Nginx
>>: HTML-Tabellen-Tag-Tutorial (17): Tabellentitel vertikales Ausrichtungsattribut VALIGN
Inhaltsverzeichnis Überblick Die vier Hauptobjekt...
In diesem Artikelbeispiel wird der spezifische Ja...
Frage Als ich kürzlich ein praktisches Projekt mi...
Upgrade der Linux-Version: 1. Stellen Sie zunächs...
Das Installationstutorial für MySQL 8.0.11 WinX64...
500 (Interner Serverfehler) Auf dem Server ist ei...
In diesem Artikelbeispiel wird der spezifische Co...
Wenn Programmierer täglich TypeScript-/JavaScript...
Auch „Tik Tok“ erfreut sich großer Beliebtheit un...
Das Löschen einer Tabelle in MySQL ist sehr einfa...
RocketMQ ist eine verteilte, warteschlangenbasier...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis 1. Einführung in Sysbench #Pro...
Zunächst einmal spielt der Blogger die Community-...
Verwendung von Anker-Tags: Als Ankerlink wird ein ...