Änderungen an der Rendering-APIDiese Änderung betrifft keine <template>-Benutzer
Renderfunktionsparameter// 2.0 Rendering-Funktion export default { rendern(h) { return h('div') } } // 3.x-Syntax export default { rendern() { return h('div') } } Änderungen an der Renderfunktionssignatur// 2.x Standard exportieren { rendern(h) { return h('div') } } // 3.x importiere { h, reaktiv } von 'vue' Standard exportieren { setup(Eigenschaft, {Slots, Attribute, emit}) { const state = reaktiv({ Anzahl: 0 }) Funktion Inkrement() { Zustand.Anzahl++ } // Zurück zur Renderfunktion return () => h( 'div', { bei Klick: Inkrement }, Statusanzahl ) } } Formatierung von VNode-Props// 2.x { Klasse: ['Schaltfläche', 'ist umrissen'], Stil: {Farbe: '#fffff'}, attr: {id: 'senden'}, domProps: {innerHTML: ''}, auf: {click: submitForm}, Schlüssel: 'Senden-Schaltfläche' } // 3.x VNode-Struktur ist flach { Klasse: ['Schaltfläche', 'ist umrissen'], Stil: { Farbe: '#34495E' }, ID: "Senden", innerHTML: '', beim Klicken: Formular absenden, Schlüssel: 'Senden-Schaltfläche' } Slot-VereinigungGeänderte normale Slots und eingeschränkte Slots
// 2.x h(LayoutComponent, [ h('div', {slot: 'header'}, dieser.header), h('div', {slot: 'header'}, dieser.header) ]) // Bereichssteckplatz: // 3.x h(LayoutComponent, {}, { Header: () => h('div', dieser.Header), Inhalt: () => h('div', dieser.Inhalt) }) // Wenn Sie Scoped Slots programmgesteuert einführen müssen, werden sie jetzt in der Option $slots vereinheitlicht // 2.x Scoped Slots dies.$scopedSlots.header // 3.x schreibe this.$slots.header $listeners entfernen Das In Vue2 können Sie this.attrs und this.attrs und this.listeners verwenden, um auf die Attribute und Ereignis-Listener zuzugreifen, die jeweils an die Komponente übergeben werden. In Kombination mit inheritAttrs: false können Entwickler diese Attribute und Listener auf andere Elemente statt auf das Stammelement anwenden. <Vorlage> <Bezeichnung> <Eingabetyp="Text" v-bind="$attrs" v-on="$listeners"> </Bezeichnung> </Vorlage> <Skript> Standard exportieren { inheritAttrs: false } </Skript> Im virtuellen DOM von Vue sind Ereignis-Listener jetzt nur noch Attribute mit dem Präfix „on“, was sie zu einem Teil des attrs-Objekts macht, sodass Listener entfernt werden. <Vorlage> <Bezeichnung> <Eingabetyp="Text" v-bind="$attrs" /> </Bezeichnung> </Vorlage> <Skript> Standard exportieren { inheritAttrs: false } // Wenn diese Komponente ein ID-Attribut und einen v-on:close-Listener erhält, sieht das $attrs-Objekt nun folgendermaßen aus { ID: "meine Eingabe", onClose: () => console.log('Schließen-Ereignis ausgelöst') } </Skript> $attrs umfasst jetzt Klasse und StilJetzt enthält $attr alle Attribute, einschließlich Klasse und Stil In 2.x behandelt das virtuelle DOM Klasse und Stil speziell, sodass sie nicht in $attr enthalten sind, was bei Verwendung von inheritAttr: false zu Nebenwirkungen führt.
<Vorlage> <Bezeichnung> <Eingabetyp="Text" v-bind="$attrs" /> </Bezeichnung> </Vorlage> <Skript> Standard exportieren { inheritAttrs: false } </Skript> <!-- Schreiben --> <meine-Komponente id="meine-id" class="meine-klasse"></meine-Komponente> <!-- vue2 wird generieren --> <label class="meine-klasse"> <input type="text" id="meine-id" /> </Bezeichnung> <!-- vue3 wird generieren --> <Bezeichnung> <input type="text" id="meine-id" class="meine-klasse" /> </Bezeichnung> Oben finden Sie eine ausführliche Erläuterung der inkompatiblen Änderungen der Rendering-Funktionen in vue3. Weitere Informationen zu inkompatiblen Änderungen der Vue-Rendering-Funktionen finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
>>: So ermitteln Sie die Ausführungszeit eines Befehls oder Prozesses in Linux
brauchen: Der Ressourcenserver der offiziellen We...
brauchen: In der Hintergrundverwaltung gibt es hä...
1. Starten Sie den Docker-Container Starten Sie m...
Problembeschreibung Als ich kürzlich ein Springbo...
Inhaltsverzeichnis MySQL Truncate-Verwendung 1. T...
Inhaltsverzeichnis 1. Docker installieren 2. Sona...
Inhaltsverzeichnis Installieren Sie den Vim-Plugi...
Einführung in Textschatten Verwenden Sie in CSS d...
Als ich mir in letzter Zeit einige CSS3-Animation...
Mehrere Spalten haben zunächst unterschiedliche I...
Inhaltsverzeichnis 1. Geben Sie ein Verzeichnis e...
Inhaltsverzeichnis Vorwort Erster Blick auf React...
A: Normalerweise im Client gespeichert. jwt oder ...
In diesem Artikelbeispiel wird der spezifische Co...
1. W3C-Versionen von Flex Version 2009 Flag: Anze...