Vue3 + TypeScript lernen1. Umgebungskonfiguration 1.1 Installieren Sie das neueste Vue-Gerüstnpm install -g @vue/cli globales Garn-Add @vue/cli 1.2 Erstellen Sie ein Vue3-Projektvue erstellt Projektname 1.3 Upgrade bestehender Vue 2-Projekte auf Vue 3 vue Typoskript hinzufügen 2. Angriff auf Vue32.1 Vue 2 Einschränkungen
2.2 Wie Vue 3 die Einschränkungen von Vue 2 löst
[Schreiben Sie eine zusammengesetzte Funktion in Vue3 und verwenden Sie Compositon Api setUp, um sie zu lösen]
3. Vue3-Kompositions-API3.1 Informationen zur Composition API In Vue3 können Sie Komponenten auch ohne Verwendung Sie können also weiterhin die Vue2-Methode zum Schreiben von Komponenten verwenden. 3.2 Wann Sie die Composition API verwenden sollten TypeScript unterstützt das Schreiben großer Komponenten. Sie können 4. Wesentliche Grundlagen der Composition API 4.1 Was ist Setup ist eine weitere Implementierung zum Konfigurieren des Komponentenstatus. Der im Setup definierte Status, den die Methode zurückgeben muss, wenn sie in der Vorlage verwendet werden soll Beachten:
4.2 ref Erstellen von responsiven VariablenIn Vue2 definieren wir eine reaktionsfähige Variable direkt in den Daten und verwenden die Variable in der Vorlage. Wenn wir die Kompositions-API verwenden, müssen wir im Setup mithilfe von „ref“ eine reaktionsfähige Variable erstellen und zurückgeben, bevor wir sie auf der Seite verwenden können. verwenden:
Die Vorteile davon:
<Vorlage> <div> <h1>{{title}}</h1> </div> </Vorlage> <Skript> importiere {ref,defineComponent} aus 'vue' exportiere StandarddefiniereKomponente({ aufstellen () { //Responsive Variablen definieren const title = ref('Front-End-Community zum Selbststudium') // Zugriff auf die Variable console.log(title.value) // Variable zurückgeben return {title} } }) </Skript> 4.3 LebenszyklusDie Lebenszyklus-Hooks der Composition API haben den gleichen Namen wie die optionalen Lebenszyklus-Hooks von Vue 2, mit der Ausnahme, dass ihnen bei Verwendung der Composition API die Präfixe „on“, „onMounted“ vorangestellt sind. Im folgenden Code gibt es zwei bereitgestellte Life-Hooks. Welcher wird Ihrer Meinung nach zuerst ausgeführt? aufstellen () { //Responsive Variablen definieren const title = ref('Front-End-Community zum Selbststudium') console.log(Titel) // Rückgabevariable Funktion getTitle(){ console.log(Titel.Wert) } // Die Seite wird geladen onMounted(getTitle) return {Titel} }, montiert() { console.log('Testen Sie die gemountete Ausführungsreihenfolge') }, 4.4 UhrMit der Uhr auf Änderungen im Setup reagieren 1. Uhr importieren, { Uhr } aus 'vue' importieren 2. Verwenden Sie die Uhr direkt. Die Uhr akzeptiert 3 Parameter
importiere {wathc} von 'vue' //Responsive Variablen definieren const num = ref(0) // Aktualisiere responsive Variablen Funktion changeNum(){ Anzahl.Wert++ } // wathc überwacht die responsive Variable watch( Num, (neuerWert, alterWert) => { console.log(`neuer Wert ist: ${newValue},--------alter Wert ist: ${oldValue}`) } ) 4,5 berechnetEs wird auch aus Vue importiert, und die berechnete Funktion gibt eine schreibgeschützte reaktive Referenz auf die Ausgabe des getter-ähnlichen Rückrufs zurück, der als erstes Argument an „Berechnet“ übergeben wurde. Um auf den Wert der neu erstellten berechneten Variable zuzugreifen, müssen wir die Eigenschaft .value verwenden, genau wie wir es bei einem Verweis getan haben. Wenn sich der Wert von num ändert, wird der Wert von nums *3 sein. importiere {ref,computed} von „vue“; Konstante Nummer = Ref(0) // Aktualisiere Nummer Funktion changeNum(){ Anzahl.Wert++ } //Anzahl Änderungen überwachen const nums = computed(() =>{ Rückgabewert * 3 }) 5. Einrichtung5.1 Akzeptieren von zwei Parameternprops: Die von der übergeordneten Komponente übergebenen Eigenschaften. Die Props in der Setup-Funktion reagieren. Sie werden aktualisiert, wenn die Daten aktualisiert werden, und ES6-Destrukturierung kann nicht verwendet werden, da dadurch die Props nicht reagieren. Kontext: Es ist ein normales Objekt, das
Requisiten:{ obj:{ Typ:Objekt } }, Setup (Eigenschaften, {Attribute, Slots, Emit}) { console.log(Attribute) Konsole.log(Slots) console.log(ausgeben) Konsole.log(Eigenschaften.obj) } 5.2 Hinweise zum Laden des Komponenten Wenn eine Komponente
6. Lebenszyklus Bei Verwendung des Lebenszyklus im 7. Werte zwischen Komponenten übertragen In Wird im Bei Verwendung von Wie richte ich es für reaktionsschnelle Updates ein?
Übergeordnete Komponente: importiere { bereitstellen, Komponente definieren, ref, reaktiv} von "vue"; <Vorlage> <Sohn/> </Vorlage> <Skript> importiere { bereitstellen, Komponente definieren, ref, reaktiv} von "vue"; exportiere StandarddefiniereKomponente({ aufstellen() { const father = ref("meine übergeordnete Komponente"); const info = reaktiv({ Ich würde: 23, Nachricht: „Frontend-Community zum Selbststudium“, }); Funktion changeProvide(){ info.message = "Test" } bereitstellen('Vater',Vater) bereitstellen('Info',Info) gibt {changeProvide} zurück; } }) </Skript> Unterkomponenten: <Vorlage> <div> <h1>{{info.message}}</h1> <h1>{{VaterDaten}}</h1> </div> </Vorlage> <Skript> importiere {bereitstellen, definieren, komponente, ref, reaktiv, injizieren} aus 'vue' exportiere StandarddefiniereKomponente({ aufstellen () { const VaterData = inject('Vater') const info = injizieren('info') returniere {Vaterdaten,Info} } }) </Skript> 8. Tipps zur Verwendung von TypeScript in Vue 8.1 Schnittstellenbeschränkungen Einschränkungsattribute Durch die Verwendung der Eigenschaften von Schnittstelle Überprüfung des Attributtyps von Paging-Abfragefeldern: exportiere Standardschnittstelle queryType{ Seitenzahl, Größe: Anzahl, Name: Zeichenfolge, Alter: Anzahl } Wird in Komponenten verwendet: importiere Abfragetyp aus '../interface/Home' Daten() { zurückkehren { Abfrage:{ Seite:0, Größe: 10, Name: 'Test', Alter: 2 } als Abfragetyp } }, 8.2 Komponenten werden mit defineComponent definiert Auf diese Weise leitet TypeScript die Typen in den Vue-Komponentenoptionen korrekt ab importiere { defineComponent } von 'vue' exportiere StandarddefiniereKomponente({ aufstellen(){ zurückkehren{ } } }) 8.3 Reaktive Typdeklarationen Standardschnittstelle exportieren Produkt { Name:Zeichenfolge, Preis:Anzahl, Adresse:String } Produkt aus '@/interface/Product' importieren importiere {reaktiv} von 'vue' const product = reactive({name:'xiaomi 11',price:5999,address:'北京'}) als Produkt returniere {Vaterdaten,Info,Produkt} Oben finden Sie den detaillierten Inhalt der Vue3 + TypeScript-Entwicklungszusammenfassung. Weitere Informationen zu Vue3 + TypeScript finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Einfaches Setup von VMware ESXi6.7 (mit Bildern und Text)
>>: Analyse von MySQL-Latenzproblemen und Datenlöschungsstrategieprozess
Export: docker save -o centos.tar centos:latest #...
Methode 1: Setzen Sie das schreibgeschützte Attrib...
1 Erstellen Sie einen Benutzer und geben Sie den ...
Vorwort Das Zusammenführen oder Aufteilen anhand ...
Ich möchte einen Artikel von Zhang Xinxu zitieren...
Erstellen einer neuen Tabelle CREATE TABLE `Perso...
In diesem Artikel wird der NAT-Konfigurationsproz...
Ziehen Sie das Bild: [mall@VM_0_7_centos ~]$ sudo...
Dieser Artikel veranschaulicht anhand von Beispie...
Im vorherigen Artikel haben wir nach der Konfigur...
veranschaulichen: VMware IOInsight ist ein Tool, ...
Das auf Tencent Cloud erstellte MySQL ist immer s...
Problembeschreibung (was ist Keep-Alive) Keep-Ali...
Inhaltsverzeichnis Alle Speicher-Engines anzeigen...
Umgebungsvorbereitung 1. Umweltkonstruktion React...