Detaillierte Erläuterung der ersten Erfahrungen mit Vue3.0 + TypeScript + Vite

Detaillierte Erläuterung der ersten Erfahrungen mit Vue3.0 + TypeScript + Vite

Projekterstellung

npm:

$ npm init vite-app <Projektname>
$ cd <Projektname>
$ npm installieren
$ npm ausführen dev

oder Garn:

$ yarn create vite-app <Projektname>
$ cd <Projektname>
$ Garn
$ Garn-Entwicklung

Projektstruktur

Bildbeschreibung hier einfügen

Haupt-JS

Haupt-TS

Meiner Meinung nach ist createApp() eine Instanz einer Vue-Anwendung, und createApp unterstützt Kettenaufrufe.

App.vue:

Bildbeschreibung hier einfügen

Dies ist die mit vue2.0 kompatible Syntax. Das Folgende ist die RFC-Schreibmethode für vue3.0 (noch im experimentellen Stadium).
offizielle RFC-Beschreibung

aufstellen

Daten

Bildbeschreibung hier einfügen

Das Setup kombiniert die erstellte Lebenszyklusfunktion von vue2.0 mit Daten und Methoden (siehe später).

Kann Attribute (Daten) und Methoden (Methoden) direkt exportieren

Bildbeschreibung hier einfügen

Es ist ersichtlich, dass der aktuelle Name nicht reagiert. Die Reaktionsfähigkeit wird später eingeführt.

Methoden

Bildbeschreibung hier einfügen

Methoden sind die gleichen wie Daten, direkt exportieren

Wirkung:

Bildbeschreibung hier einfügen

Kompositions-API

Referenz

Stellungnahme:

Bildbeschreibung hier einfügen

Ref kann einige grundlegende Eigenschaften responsiv machen

Bildbeschreibung hier einfügen

reaktiv

Bildbeschreibung hier einfügen

Das obige Bild zeigt die gemischte Verwendung von reaktiv und ref. Um den Effekt zu erleben, kopieren Sie bitte den folgenden Code.

<Vorlage>
 <div id="app">
 <div v-for="(item, index) in Staat.Personen" :key="index">
  {{ item.name }} ist {{ item.age }} Jahre alt</div>
 <div>
  <h3>Zhangsans Alter ändern</h3>
  <Eingabetyp="Text" v-Modell="zAlter" />
 </div>
 </div>
</Vorlage>

<script lang="ts" setup="props, {emit}">
importiere { reaktiv, ref } von 'vue'
exportiere const zAge = ref(12)
export const state = reaktiv({
 Personen:
 {
  Name: 'zhangsan',
  Alter: zAlter
 },
 {
  Name: 'lisi',
  Alter: 20
 }
 ]
})
</Skript>

berechnet

Stellungnahme:

Bildbeschreibung hier einfügen

Wirkung:

Bildbeschreibung hier einfügen

Uhreffekt

Stellungnahme:

Bildbeschreibung hier einfügen

Wirkung:

Bildbeschreibung hier einfügen

Komponentensystem

Globale Registrierung

App.vue

Bildbeschreibung hier einfügen

Haupt-JS

Bildbeschreibung hier einfügen

Teilregistrierung

App.vue

Bildbeschreibung hier einfügen

aufstellen

Requisiten

Bildbeschreibung hier einfügen

Deklarieren Sie das Props-Objekt. In watchEffect wird console.log(props.msg) verwendet, um den von der übergeordneten Komponente übergebenen Wert anzuzeigen. Standardwerte und Filterung von Requisiten werden untersucht. Informationen zu bestimmten Funktionen finden Sie in der Funktion der vue2.0-Requisiten

Kontext

Bildbeschreibung hier einfügen

Komponentenkontext

emittieren

Bildbeschreibung hier einfügen

Deklarieren Sie die Emit-Funktion. Schreiben Sie „emitt“ in „setup="props, { emit }“, andernfalls wird ein Fehler gemeldet. Spezifische Funktionen finden Sie in der Emit-Funktion in vue2.0.

Bildbeschreibung hier einfügen

Bildbeschreibung hier einfügen

Hier sind einige Beispiele zur Verwendung der Emit-Funktion.

Attribute

Recherchieren…

Spielautomaten

Recherchieren…

Vue-Direktiven

Konzentrieren Sie sich auf das V-Modell, andere Vue-Anweisungen sind dieselben wie bei 2.0

V-Modell

Bildbeschreibung hier einfügen

Vue3.0 unterstützt nun mehrere bidirektionale Bindungsparameter, was in Vue2.0 nicht möglich war. Wenn nach V-Model keine weiteren Attribute vorhanden sind, ist der Standardwert innerhalb dieser Komponente modelValue. Wenn Sie V-Model aktualisieren möchten, müssen Sie emit('update:modelValue', data) verwenden, um den Standardwert modelValue von V-Model zu aktualisieren. Wenn nach v-model ein Attribut (dragValue) vorhanden ist, dann ist sein Wert innerhalb dieser Komponente dieser Attributname (dragValue). Wenn Sie den Wert von v-model:dragValue aktualisieren möchten, müssen Sie emit('update:dragValue', data) verwenden, um den benutzerdefinierten Wert von v-model zu aktualisieren.

Weitere Informationen zur Verwendung finden Sie in der offiziellen Dokumentation: https://github.com/vuejs/rfcs/blob/sfc-improvements/active-rfcs/0000-sfc-script-setup.md

Dies ist das Ende dieses Artikels über die ersten Erfahrungen mit Vue3.0 + TypeScript + Vite. Weitere verwandte Inhalte zu Vue3.0 TypeScript Vite 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:
  • Vor- und Nachteile von Vite und Vue CLI
  • Detaillierte Erläuterung des mobilen Projekts vite2.0 + vue3
  • Detaillierte Erläuterung von vite + ts zum schnellen Erstellen von Vue3-Projekten und zur Einführung verwandter Funktionen
  • Vue3.0+vite2 implementiert dynamisches asynchrones Lazy Loading von Komponenten
  • So verwenden Sie vite zum Erstellen einer Vue3-Anwendung
  • So fügen Sie Vite-Unterstützung zu alten Vue-Projekten hinzu

<<:  Gewöhnliche Gespräche über die Verwendung von MYSQL Pattern Matching REGEXP und ähnliches

>>:  So laden Sie Projekte im Linux-System in die Code Cloud hoch

Artikel empfehlen

CSS3-Zeitleistenanimation

Ergebnisse erzielen html <h2>CSS3-Zeitleist...

Bootstrap realisiert den Karusselleffekt

In diesem Artikel wird der spezifische Code von B...

MySQL-Datenbank-Entwicklungsspezifikationen [empfohlen]

Vor Kurzem haben wir SQL zur Optimierung online e...

Detaillierte Erläuterung der Deep Copy und Shallow Copy im JS-Variablenspeicher

Inhaltsverzeichnis Variabler Typ und Speicherplat...

So fügen Sie eindeutige Indizes für Felder in MySQL hinzu und löschen sie

1. PRIMARY KEY hinzufügen (Primärschlüsselindex) ...

Zusammenfassung häufiger Probleme und Anwendungskenntnisse in MySQL

Vorwort Bei der täglichen Entwicklung oder Wartun...

So stellen Sie mit C++ eine Verbindung zu MySQL her

C++ stellt zu Ihrer Information eine Verbindung z...

11 Beispiele für die erweiterte Verwendung von Eingabeelementen in Webformularen

1. Löschen Sie das gepunktete Feld, wenn die Scha...

Docker stellt MySQL bereit, um Beispielcode für eine Remoteverbindung zu erreichen

1. Docker durchsucht MySQL查看mysql版本 2. Docker Pul...

Detaillierte Installation und Konfiguration von Subversion (SVN) unter Ubuntu

Wenn Sie Softwareentwickler sind, müssen Sie mit ...

innerHTML-Anwendung

Blanks Blog: http://www.planabc.net/ Die Verwendu...

So verwenden Sie weniger im WeChat-Applet (optimale Methode)

Vorwort Ich bin es gewohnt, Less/Sass zu schreibe...