Ä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
border-radius: CSS3 abgerundete Ecken Syntax: bor...
1. Laden Sie die erforderlichen Pakete herunter w...
Inhaltsverzeichnis Vorwort 1. Anspruch und Wirkun...
Was ist ein Port? Bei den Ports, auf die wir uns ...
Frage: Die Kodierung meines Blogs ist UTF-8. Manch...
1. Einführung in verteilte Speichersysteme Die ko...
Häufig verwendete Befehle für Linux-Partitionen: ...
<p><b>Dies ist eine fette Schriftart&l...
Als nützlicher Terminalemulator wird Xshell häufi...
Anfänger, die mit HTML in Berührung kommen, lerne...
Vorwort Durch die Verwendung von Docker und VS Co...
Der empfohlene Code zum Abspielen von Hintergrundm...
String-Extraktion ohne Trennzeichen Fragenanforde...
Inhalt dieses Artikels: Seitenhohlmaskenebene, Se...
Vorwort In unserem täglichen Entwicklungsprozess ...