1. Beschränken Sie Requisiten auf Typlisten Mit der Standard exportieren { Name: 'Bild', Requisiten: { Quelle: { Typ: Zeichenfolge, }, Stil: { Typ: Zeichenfolge, Validator: s => ['quadratisch', 'gerundet'].includes(s) } } }; Diese 2. Standardinhalte und ErweiterungspunkteSlots in Vue können Standardinhalte haben, wodurch Sie Komponenten erstellen können, die einfacher zu verwenden sind: <button class="button" @click="$emit('click')"> <Steckplatz> <!-- Wird verwendet, wenn kein Steckplatz vorhanden ist --> Klick mich </slot> </button> Grundsätzlich können Sie jeden beliebigen Teil einer Komponente nehmen, ihn in einen <Vorlage> <button class="button" @click="$emit('click')"> <!-- Fügen Sie zunächst ein Slot-Tag hinzu, das nichts tut --> <!-- Wir können dies überschreiben, indem wir dem Slot Inhalt bereitstellen --> <Steckplatz> <div Klasse="Formatierung"> {{ text }} </div> </slot> </button> </Vorlage> Nun können Sie dieses Bauteil vielfältig einsetzen. Einfache Standardmethode oder Ihre eigene benutzerdefinierte Methode: <!-- Standardfunktionalität der Komponente verwenden --> <ButtonWithExtensionPoint text="Formatierter Text" /> <!-- Erweiterungspunkte verwenden, um benutzerdefiniertes Verhalten zu erstellen --> <SchaltflächeMitErweiterungspunkt> <div Klasse="unterschiedliche-formatierung"> Machen Sie hier etwas anderes</div> </ButtonWithExtensionPoint> 3. Verwenden Sie Anführungszeichen, um verschachtelte Werte zu erkennenDas wissen Sie vielleicht nicht: Sie können sich verschachtelte Werte ganz einfach direkt ansehen, indem Sie Anführungszeichen verwenden: betrachten { '$route.query.id'() { // ... } } Dies ist sehr nützlich für den Umgang mit tief verschachtelten Objekten. 4. Wissen, wann v-if zu verwenden ist (und wann es zu vermeiden ist) Manchmal <ComplicatedChart v-show="chartAktiviert" /> Wenn Wenn das Rendern der Komponente, die Sie umschalten müssen, teuer ist, ist dies möglicherweise effizienter. Wenn Sie diese Komponente hingegen nicht sofort benötigen, verwenden Sie v-if, damit das Rendern übersprungen und die Seite schneller geladen wird. 5. Abkürzung für Slots mit einem einzigen Bereich (keine Vorlagen-Tags erforderlich!) Es gibt eine Abkürzung, mit der wir damit durchkommen, aber nur, wenn wir einen einzigen Anstatt zu schreiben: <Datentabelle> <Vorlage #header="Tabellenattribute"> <TableHeader v-bind="Tabellenattribute" /> </Vorlage> </DataTable> Wir können es so schreiben: <Datentabelle #header="Tabellenattribute"> <TableHeader v-bind="Tabellenattribute" /> </DataTable> Das ist einfacher und direkter. 6. Slots bedingt rendern Jede const $slots = { Standard: <Standardsteckplatz>, Symbol: <Symbolplatz>, Schaltfläche: <Schaltflächenplatz>, }; Aber dieses Nehmen Sie diese Komponente, die mehrere Slots definiert, darunter mehrere benannte Slots: <!-- Slots.vue --> <Vorlage> <div> <h2>Hier sind einige Slots</h2> <Steckplatz /> <slot name="zweite" /> <slot name="dritter" /> </div> </Vorlage> Wenn wir einer Komponente nur einen Slot zuweisen, wird nur dieser Slot in unserem $slots-Objekt angezeigt: <Vorlage> <Spielplätze> <Vorlage #Sekunde> Dies wird auf den zweiten Steckplatz angewendet </Vorlage> </Slots> </Vorlage> $slots = { Sekunde: <vnode> } Wir können dies in unseren Komponenten verwenden, um zu erkennen, welche Zum Beispiel durch Ausblenden <Vorlage> <div> <h2>Ein Paketplatz</h2> <div v-if="$slots.default" class="styles"> <Steckplatz /> </div> </div> </Vorlage> Jetzt wird der Wenn wir 6.1 Warum möchten wir Slots bedingt rendern können?Es gibt drei Hauptgründe für die Verwendung bedingter Slots:
Wenn wir beispielsweise die Standardstile hinzufügen, fügen wir ein Div um <Vorlage> <div> <h2>Das ist eine ziemlich tolle Komponente, oder?</h2> <div Klasse="Standard-Styling"> <Steckplatz> </div> <button @click="$emit('click')">Klick mich!</button> </div> </Vorlage> Wenn die übergeordnete Komponente jedoch keinen Inhalt auf diesen Slot anwendet, wird auf der Seite ein leeres Div gerendert: <div> <h2>Das ist eine wirklich coole Komponente</h2> <div Klasse="Standard-Styling"> <!-- Der Slot enthält keinen Inhalt, aber dieses Div wird trotzdem gerendert--> </div> <button @click="$emit('click')">Klick mich!</button> </div> Das Hinzufügen von v-if zum umschließenden Div sollte funktionieren. Für den Slot wurde kein Inhalt angewendet? So was:\ <div> <h2>Das ist eine wirklich coole Komponente</h2> <button @click="$emit('click')">Klick mich!</button> </div> 7. So beobachten Sie Slot-ÄnderungenManchmal müssen wir wissen, wann sich der Inhalt eines Slots geändert hat: <!-- Leider existiert diese Veranstaltung nicht--> <slot @change="aktualisieren" /> Leider verfügt Vue über keine integrierte Methode, um dies zu erkennen. Mithilfe von Mutation Observern lässt sich dies jedoch sehr gut realisieren: Standard exportieren { montiert() { // Rufen Sie „update“ auf, wenn sich etwas ändert const observer = neuer MutationObserver(dieses.update); //Änderungen dieser Komponente beobachten observer.observe(this.$el, { Kinderliste: wahr, Teilbaum: wahr }); } }; 8. Lokale und globale Stile mischenBei der Verwendung von Stilen möchten wir diese häufig auf eine einzelne Komponente beschränken: <Stilbereich> .Komponente { Hintergrund: grün; } </Stil> Bei Bedarf können Sie auch einen nicht bereichsbezogenen Stilblock hinzufügen, um globale Stile hinzuzufügen: <Stil> /*Globale Anwendung*/ .Komponente p { Rand unten: 16px; } </Stil> <Stilbereich> /*Auf diese bestimmte Komponente beschränkt*/ .Komponente { Hintergrund: grün; } </Stil> 9. Stile untergeordneter Komponenten überschreiben – so geht’s Vue verfügt speziell hierfür über einen Deep Selector: <Stilbereich> /* Überschreibe das CSS einer untergeordneten Komponente, während der Stilbereich beibehalten wird */ .meine-Komponente >>> .untergeordnete-Komponente { Schriftgröße: 24px; } </Stil>
10. Zaubern Sie mit kontextsensitiven KomponentenKontextsensitive Komponenten sind „magisch“ – sie passen sich automatisch an das Geschehen um sie herum an, verarbeiten Randfälle, geben den Status frei und mehr. Es gibt drei Haupttypen kontextabhängiger Komponenten, aber ich finde die Konfiguration am interessantesten von allen. 10.1 StatusfreigabeWenn Sie eine große Komponente in mehrere kleinere Komponenten aufteilen, müssen diese häufig weiterhin den gleichen Status aufweisen. Sie können dies „hinter den Kulissen“ tun, anstatt diese Arbeit auf die Personen abzuwälzen, die die Komponente verwenden. Eine <!-- Der Einfachheit halber als einzelne Komponente verwendet --> <Dropdown v-Modell="ausgewählt" :Optionen="[]" /> <!-- Teilen für mehr Flexibilität --> <Wählen Sie v-Modell="ausgewählt"> <Option value="senf">Senf</Option> <Optionswert="Ketchup">Ketchup</Option> <div Klasse="Relish-Wrapper"> <Optionswert="genießen">Genießen</Option> </div> </Auswählen> 10.2 Konfiguration Manchmal müssen Sie das Verhalten einer Komponente basierend auf der Situation im Rest der Anwendung ändern. Dies wird normalerweise durchgeführt, um Randfälle automatisch zu behandeln, die andernfalls problematisch wären. Das Popup oder der 10.3 Modellierung Wenn Sie kontextsensitives .statistik { Farbe: Schwarz; Schriftgröße: 24px; Schriftstärke: fett; } /* Fügen Sie eine gewisse Trennung zwischen nebeneinander stehenden Statistiken ein */ .statistik + .statistik { Rand links: 10px; } Variablen in CSS bringen uns einen Schritt weiter, indem sie es uns ermöglichen, in verschiedenen Teilen der Seite unterschiedliche Werte festzulegen. 11. Wie kann man außerhalb von Vue erstellte Variablen responsiv machen? Wenn Sie eine Variable von außerhalb Wenn Sie die Optionen-API verwenden, fügen Sie Folgendes einfach in den Datenabschnitt Ihrer Komponente ein: const externeVariable = getValue(); Standard exportieren { Daten() { zurückkehren { reaktiveVariable: externeVariable, }; } }; Wenn Sie die Kompositions- importiere { ref } von 'vue'; // Kann vollständig außerhalb einer Vue-Komponente erfolgen const externalVariable = getValue(); const reaktiveVariable = ref(externeVariable); // Verwenden Sie .value, um auf console.log(reactiveVariable.value) zuzugreifen. Verwenden Sie stattdessen reaktiv: importiere { reaktiv } von „vue“; // Kann vollständig außerhalb einer Vue-Komponente erfolgen const externalVariable = getValue(); // Reactive funktioniert nur mit Objekten und Arrays const anotherReactiveVariable = reactive(externalVariable); // Direkter Zugriff console.log(anotherReactiveVariable); Wenn Sie immer noch 12. Destrukturierung in v-for Wussten Sie, dass Sie in <li v-for="{ name, id } in Benutzern" :Schlüssel="id" > {{ Name }} </li> Wie wir alle wissen, können Sie den Index von v-for mithilfe eines Tupels wie folgt ermitteln: <li v-for="(Wert, Schlüssel) in [ 'Hai Yong', 'Gefroren', „Web-Anfänger“ ]"> {{ index + 1 }} - {{ wert }} </li> Beim Benutzen von Objekten können Sie auch die Tasten greifen: <li v-for="(Wert, Schlüssel) in { Name: 'Hai Yong', erschienen: 2021, Regisseur: 'Ein Blogger', }"> {{ Schlüssel }}: {{ Wert }} </li> Sie können diese beiden Methoden auch kombinieren, um sowohl den Schlüssel als auch den Index einer Eigenschaft zu erhalten: <li v-for="(Wert, Schlüssel, Index) in { Name: 'Hai Yong', erschienen: 2021, Regisseur: 'Ein Blogger', }"> #{{ index + 1 }}. {{ Schlüssel }}: {{ Wert }} </li> 13. Schleife über einen Bereich in VueMit der Direktive v-for können wir über ein Array iterieren, aber auch über einen Bereich: <Vorlage> <ul> <li v-for="n in 5">Artikelnummer {{ n }}</li> </ul> </Vorlage> Anzeigeeffekt:
Wenn wir 14. Beobachten Sie alles in einer KomponenteDie Reaktion Ihrer Komponente kann beobachtet werden: Standard exportieren { berechnet: { einigeberechneteEigenschaft() { // Berechnungseigenschaften aktualisieren}, }, betrachten: einigeberechneteEigenschaft() { // etwas tun, wenn die berechnete Eigenschaft aktualisiert wird } } }; Sie können sehen:
Wenn Sie die Kompositions-API verwenden, können Sie jeden Wert beobachten, solange es sich um ein 15. Gegenstandstyp stehlen Kopieren Sie Beispielsweise verwenden wir in dieser Komponente eine Symbolkomponente: <Vorlage> <div> <h2>{{ Überschrift }}</h2> <Symbol :Typ="Symboltyp" :size="Symbolgröße" :Farbe="Symbolfarbe" /> </div> </Vorlage> Damit es funktioniert, müssen wir den richtigen Requisitentyp hinzufügen, der aus der Symbolkomponente kopiert wurde: Symbol aus „./Icon“ importieren; Standard exportieren { Komponenten: { Icon }, Requisiten: { Symboltyp: { Typ: Zeichenfolge, erforderlich: wahr, }, Symbolgröße: { Typ: Zeichenfolge, Standard: „mittel“, Validator: Größe => [ 'klein', 'Medium', 'groß', 'x-groß' ].includes(Größe), }, Symbolfarbe: Typ: Zeichenfolge, Standard: „schwarz“, }, Überschrift: Typ: Zeichenfolge, erforderlich: wahr, }, }, }; Wenn Deshalb stehlen wir sie: Symbol aus „./Icon“ importieren; Standard exportieren { Komponenten: { Icon }, Requisiten: { ...Icon.Requisiten, Überschrift: Typ: Zeichenfolge, erforderlich: wahr, }, }, }; Außer dass wir in unserem Beispiel am Anfang jedes Requisitennamens Symbol aus „./Icon“ importieren; : Konstanten iconProps = {}; // Führen Sie vorher einige Verarbeitungen durch Objekt.Einträge(Icon.props).fürEach((Schlüssel, Wert) => { iconProps[`icon${key[0].toUpperCase()}${key.substring(1)}`] = Wert; }); Standard exportieren { Komponenten: { Icon }, Requisiten: { ...SymbolProps, Überschrift: Typ: Zeichenfolge, erforderlich: wahr, }, }, }; Wenn jetzt der Was aber passiert, wenn ein 16. Erkennen Sie Klicks außerhalb (oder innerhalb) eines ElementsManchmal müssen wir erkennen, ob ein Klick innerhalb oder außerhalb eines bestimmten Elements erfolgt ist. Dies ist der Ansatz, den wir normalerweise verwenden: window.addEventListener('mousedown', e => { // Das angeklickte Element abrufen const clickedEl = e.target; // `el` ist das Element, auf dem Sie externe Klicks erkennen, wenn (el.contains(clickedEl)) { // Klicken Sie in "el" } else { // außerhalb von `el` klicken} }); 17. Rekursive Slots Können wir eine Komponente nur mithilfe einer Vorlage So sieht die Komponente aus: <!-- VFor.vue --> <Vorlage> <div> <!-- Das erste Element rendern--> {{ Liste[0] }} <!-- Wenn wir über weitere Elemente verfügen, das gerade gerenderte aber beibehalten müssen --> <v-für v-if="Listenlänge > 1" :Liste="Liste.Scheibe(1)" /> </div> </Vorlage> Wenn Sie dies mit eingeschränkten Slots tun möchten – warum nicht? ! — Es sind nur ein paar kleine Änderungen nötig: < Vorlage> <div> <!-- Übergeben Sie das Element an den Slot, der gerendert werden soll --> <slot v-bind:item="Liste[0]"> <!-- Standard --> {{ Liste[0] }} </slot> <v-für v-if="Listenlänge > 1" :Liste="Liste.Scheibe(1)" > <!-- Den Bereichssteckplatz rekursiv weitergeben --> <template v-slot="{ Element }"> <slot v-bind:item="item" /> </Vorlage> </v-für> </div> </Vorlage> So verwenden Sie diese Komponente: <Vorlage> <div> <!-- Allgemeine Liste --> <v-für: Liste = "Liste" /> <!-- Liste mit fettgedruckten Einträgen --> <v-für: Liste = "Liste"> <template v-slot="{ Element }"> <strong>{{ Artikel }}</strong> </Vorlage> </v-für> </div> </Vorlage> 18. KomponentenmetadatenNicht jede Information, die Sie einer Komponente hinzufügen, ist ein Status. Manchmal müssen Sie Metadaten hinzufügen, um anderen Komponenten weitere Informationen bereitzustellen.
Wenn Ihr Layout wissen soll, wie viele Spalten jedes Widget einnehmen soll, können Sie dies als Metadaten direkt zur Komponente hinzufügen: Standard exportieren { Name: 'LiveUsersWidget', // 👇 Fügen Sie es einfach als zusätzliche Eigenschaftsspalten hinzu: 3, Requisiten: { // ... }, Daten() { zurückkehren { //... }; }, }; Sie finden diese Metadaten als Eigenschaft der Komponente: importiere LiveUsersWidget aus „./LiveUsersWidget.vue“; const { Spalten } = LiveUsersWidget; Sie können auch innerhalb einer Komponente über die spezielle Eigenschaft $options auf Metadaten zugreifen: Standard exportieren { Name: 'LiveUsersWidget', Spalten: 3, erstellt() { // 👇 „$options“ enthält alle Metadaten für die Komponente console.log(„Using ${this.$options.metadata} columns“); }, }; Beachten Sie, dass diese Metadaten für jede Instanz der Komponente gleich sind und nicht reagieren. Zu den weiteren Verwendungsmöglichkeiten zählen (jedoch ohne darauf beschränkt zu sein):
19. Mehrdatei-EinzeldateikomponenteDies ist eine wenig bekannte Funktion von SFC. Sie können die Datei wie eine normale HTML-Datei importieren: <!-- "einzelne" Dateikomponente --> <template src="./template.html"></template> <script src="./script.js"></script> <style scoped src="./styles.css"></style> Dies ist praktisch, wenn Sie Stile, Dokumente oder andere Dinge teilen müssen. Auch ideal für besonders lange Komponentendateien, bei denen die Finger beim Scrollen ermüden 20. Wiederverwendbare Komponenten sind nicht das, was Sie denken Eine wiederverwendbare Komponente muss nichts Großes oder Kompliziertes sein, ich mache oft kleine und kurze Komponenten wiederverwendbar. Da ich diesen Code nicht überall neu schreibe, wird die Aktualisierung viel einfacher und ich kann sicherstellen, dass alle <!-- OverflowMenu.vue --> <Vorlage> <Menü> <!-- Fügen Sie eine benutzerdefinierte Schaltfläche hinzu, um unser Menü auszulösen--> <template #button v-slot="binden"> <!-- Verwenden Sie Bind, um Klickhandler, a11y-Attribute usw. zu übergeben. --> <Button v-bind="binden"> <!-- Verwenden Sie unser eigenes "..."-Symbol, diese Schaltfläche hat keinen Text --> <Vorlage #Symbol> <svg src="./ellipsis.svg" /> </Vorlage> </Button> </Vorlage> </Menü> </Vorlage> Hier haben wir eine <Vorlage> <ÜberlaufMenü :menu-items="Artikel" @click="MenüKlick handhaben" /> </Vorlage> 21. Methoden von außerhalb einer Komponente aufrufenSie können die Methode von außerhalb der Komponente aufrufen, indem Sie ihr einen Verweis zuweisen: <!-- Übergeordnetes Element.vue --> <Vorlage> <ChildComponent ref="Kind" /> </Vorlage> // Irgendwo in Parent.vue this.$refs.child.method(); Normalerweise verwenden wir Requisiten und Ereignisse, um zwischen Komponenten zu kommunizieren. Requisiten werden an untergeordnete Komponenten gesendet und Ereignisse werden an die übergeordnete Komponente zurückgesendet. <Vorlage> <Unterkomponente :sag mir, was ich tun soll="einigeAnweisungen" @etwas-ist-passiert="hierwerdeichdirdabeihelfen" /> </Vorlage> Manchmal kann es jedoch vorkommen, dass eine übergeordnete Komponente eine Methode in einer untergeordneten Komponente auslösen muss. Hier funktioniert es nicht, die Requisiten einfach weiterzugeben. Sie können einen Booleschen Wert weitergeben und ihn von der untergeordneten Komponente überwachen lassen: <!-- Übergeordnetes Element.vue --> <Vorlage> <ChildComponent :trigger="sollteCallMethod" /> </Vorlage> // Kind.vue Standard exportieren { Requisiten: ['Auslöser'], betrachten: sollteCallMethod(neuerWert) { wenn (neuerWert) { // Diese Methode wird aufgerufen, wenn der Trigger auf „true“ gesetzt ist. this.method(); } } } } Dies funktioniert einwandfrei, jedoch nur beim ersten Anruf. Wenn Sie diese Aktion mehr als einmal auslösen müssen, müssen Sie den Status bereinigen und zurücksetzen. Die Logik sieht dann folgendermaßen aus:
Wenn wir stattdessen einen Verweis auf die untergeordnete Komponente festlegen, können wir die Methode direkt aufrufen: <!-- Übergeordnetes Element.vue --> <Vorlage> <ChildComponent ref="Kind" /> </Vorlage> // Irgendwo in Parent.vue this.$refs.child.method(); Wir brechen die Regel „ Manchmal ist die „beste“ Lösung am Ende die schlechteste Lösung. 22. Arrays und Objekte beobachten Das Schwierigste an der Verwendung eines Beobachters ist, dass er manchmal nicht richtig ausgelöst wird. Dies passiert normalerweise, weil Sie versuchen, in ein Array oder ein Objekt zu schauen, ohne Standard exportieren { Name: 'Farbänderung', Requisiten: { Farben: Typ: Array, erforderlich: wahr, }, }, betrachten: // Benutze Objektsyntax statt nur Methoden colors: { // Dadurch wird Vue darüber informiert, dass es tief im Array nachsehen muss: true, // Wir müssen unsere Methode in das Handlerfeld handler() verschieben console.log('Die Farbliste hat sich geändert!'); } } } } Die Verwendung der reaktiven API von Vue 3 würde folgendermaßen aussehen : betrachten( Farben, () => { console.log('Die Farbliste hat sich geändert!'); }, { tief: wahr, } ); Wenn Sie mehr erfahren möchten, können Sie die Dokumentation zu Vue 3 und Vue 2 zu Rate ziehen. 23. Deep Linking mit Vue RouterSie können (einige) Zustände in der URL speichern, sodass Sie direkt zu einem bestimmten Zustand auf der Seite springen können. Sie können beispielsweise eine Seite mit einem ausgewählten Datumsbereichsfilter laden: someurl.com/edit?date-range=last-week Dies ist nützlich für Teile einer Anwendung, in denen Benutzer möglicherweise eine große Anzahl von Links gemeinsam nutzen, für serverseitig gerenderte Anwendungen oder für die Weitergabe von mehr Informationen zwischen zwei separaten Anwendungen, als ein normaler Link normalerweise bereitstellen würde. Sie können Filter und Suchwerte speichern, angeben, ob ein Modus ein- oder ausgeschaltet ist oder die Position in einer Liste, zu der wir gescrollt haben – perfekt für unendliches Blättern. Verwenden Sie vue-router, um die Abfrage wie folgt abzurufen (dies funktioniert auch mit den meisten Vue-Frameworks wie Nuxt und Vuepress): const dateRange = this.$route.query.dateRange; Um dies zu ändern, verwenden wir die RouterLink-Komponente und aktualisieren die Abfrage: <RouterLink :to="{ Abfrage: { Datumsbereich: neuerDatumsbereich } }"> 24. Eine weitere Verwendung für Vorlagen-Tags Das Ich verwende es gerne, um die v-if-Logik und manchmal auch v-for zu vereinfachen. In diesem Beispiel haben wir mehrere Elemente, die alle dieselbe v-if-Bedingung verwenden: <Vorlage> <div Klasse="Karte"> <img src="imgPfad" /> <h3> {{ Titel }} </h3> <h4 v-if="erweitert"> {{ Unterüberschrift }} </h4> <div v-if="erweitert" class="Karteninhalt"> <Steckplatz/> </div> <SocialShare v-if="erweitert" /> </div> </Vorlage> Es ist etwas umständlich und zunächst nicht offensichtlich, da viele dieser Elemente zusammen angezeigt und ausgeblendet werden. Bei größeren, komplexeren Baugruppen kann dies eine weitaus schlimmere Situation sein! Aber wir können das beheben. Wir können diese Elemente mithilfe des Vorlagentags gruppieren und das v-if in den Vorlagentag selbst einfügen: <Vorlage> <div Klasse="Karte"> <img src="imgPfad" /> <h3> {{ Titel }} </h3> <template v-if="erweitert"> <h4> {{ Unterüberschrift }} </h4> <div Klasse="Karteninhalt"> <Steckplatz/> </div> <SocialShare/> </Vorlage> </div> </Vorlage> 25. Eine bessere Möglichkeit, mit Fehlern (und Warnungen) umzugehenSie können in Vue benutzerdefinierte Handler für Fehler und Warnungen bereitstellen: // Ansicht 3 const app = erstelleApp(App); app.config.errorHandler = (err) => { Alarm(Fehler); }; // Ansicht 2 Vue.config.errorHandler = (err) => { Alarm(Fehler); }; Fehlerverfolgungsdienste wie Wenn beispielsweise ein Fehler nicht behandelt wird, kann die Anwendung nicht nur abstürzen, sondern auch einen ganzseitigen Fehlerbildschirm anzeigen und den Benutzer auffordern, die Seite zu aktualisieren oder eine andere Aktion auszuprobieren. In Vue 3 beziehen sich Fehlerhandler nur auf Vorlagen- und Watcher-Fehler, aber die Fehlerhandler von Vue 2 fangen fast alles ab. Die Warnungshandler in beiden Versionen sind nur für die Entwicklung vorgesehen. Damit ist dieser Artikel über 25 Vue-Tipps, die Sie kennen müssen, abgeschlossen. Weitere relevante Vue-Tipps finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Beispielcode zur Implementierung sechseckiger Rahmen mit CSS3
>>: HTML- und CSS-Grundlagen (unbedingt lesen)
Als Reaktion auf die Popularität von nodejs haben...
Inhaltsverzeichnis 1. Standardwerte für Funktions...
sed ist ein Zeichenstromeditor unter Unix, also e...
Implementierung des Zeitvergleichs in MySql unix_...
Vorwort In diesem Artikel erfahren Sie hauptsächl...
Inhaltsverzeichnis 1. Behandeln Sie Objekte nicht...
Manchmal müssen Sie basierend auf der offiziell v...
Inhaltsverzeichnis Erster Blick auf die Wirkung: ...
Inhaltsverzeichnis Tutorial-Reihe 1. Benutzerverw...
Entpacken Sie die Datei in ein Verzeichnis Dies i...
Ich bin vor ein paar Tagen mit dem Bus zur Arbeit...
Warum die Dateisteuerung verschönern? Stellen Sie ...
Bei der Web-Frontend-Entwicklung ist es unvermeidl...
Vor kurzem wollte ich Goaccess verwenden, um Ngin...
In den letzten Jahren meiner Karriere habe ich an...