


Was ist der Unterschied zwischen der Syntax von vue3 und vue2?
Der Syntaxunterschied zwischen vue3 und vue2: 1. vue2 verwendet Webpack zum Erstellen des Projekts, während vue3 Vite zum Erstellen des Projekts verwendet. 2. vue2 kann das Pototyp-Formular zum Betrieb verwenden, und der Konstruktor wird eingeführt, während vue3 es ist Es ist notwendig, die Strukturform für den Betrieb zu verwenden, und die Fabrikfunktion wird eingeführt.
Die Betriebsumgebung dieses Tutorials: Windows 10-System, Vue3-Version, Dell G3-Computer.
Was ist der Unterschied zwischen der Syntax von vue3 und vue2?
1. Webpack und Vite? das Modul, und schließlich Packen Sie es und teilen Sie Ihnen dann mit, dass der Server bereit ist, mit der Arbeit zu beginnen. vue3 verwendet Vite, um das Projekt zu erstellen. dann die Eingabedatei, Dynamischer Import (dynamischer Import) Code Der größte Vorteil und Unterschied des Split-Points (Code-Splitting)
besteht darin, dass einige Codedateien im Projekt schneller gespeichert und aktualisiert werden können, um später den tatsächlichen Effekt zu sehen das sogenannte (Hot Update)
2 In der .main.js-Datei
vue2 können wir zum Betrieb die Prototyp-Form (Prototyp) verwenden. Der Konstruktor
vue3 muss zum Betrieb die Strukturform verwenden . Die Factory-Funktion vue3 wird eingeführt. Es darf kein Root-Tag in der App-Komponente vorhanden sein
3. Die Setup-Funktion muss
<script> export default { name: 'appName', setup(){ //变量 let name = '打工仔' let age = 18 //方法 function say(){ console.log(`我只是一个${name},今年${age}岁`) } //返回一个对象 return { name, age, say } } } </script>
zurückgeben ${name} muss dies nicht verwenden, um zu funktionieren. Diese Funktion dient lediglich dazu, die Variablen in einem bestimmten Bereich abzurufen, und die Setup-Funktion stellt eine Funktion bereit, die sich derzeit nur in diesem Bereich befindet. Ich bin derzeit sehr unzufrieden Bedeutet das nicht, dass jede Variable und Methode, die ich definiere, zurückgegeben werden muss? im Setup während der Kompilierung und Laufzeit
Hinweis: Das Setup erfolgt früher als zuvor. Erstellen und erstellen Sie Lebenszyklen. Das heißt, wenn Sie dies direkt verwenden, um die Daten in Daten abzurufen, sind sie immer noch undefiniert
Die Setup-Syntax-Lektion erhält 2 Parameter-Setup(props,context)Wir alle kennen this.$attrs, this.$slots in vue2, this.$emit ist äquivalent zu attrs, slots, emit in contextHinweis: Wenn wir nur einen Parameter akzeptieren, ist der Auf der Seite wird eine Warnung angezeigt, die jedoch keinen Einfluss auf die Verwendung hat -if haben in vue2 eine höhere Priorität als die v-for-Anweisung, und es wird nicht empfohlen, sie zusammen zu verwenden
v- in vue3 for und v-if behandeln nur das aktuelle v-if als Urteilsaussage in v-. für und werden nicht miteinander in Konflikt stehen
keyCode wird als Modifikator von v-on in vue3 entfernt, und config.keyCodes wird natürlich nicht unterstützt
V-on.native-Modifikator in vue3 entfernen
Filter in vue3 entfernen
5.ref und reactive
ref
wandeln die Daten in reaktionsfähige Daten um, ref wandelt sie in Objekte um. Wenn wir den Code direkt bedienen, können Sie feststellen, dass der aktuelle Name und das Alter nicht geändert werden können Ändern Sie die Seite weiterhin über get und set. Zu diesem Zeitpunkt müssen Sie .value verwenden, und die Referenz lautet immer noch Refimpl<template>
<div class="home">
<h1>姓名:{{name}}</h1>
<h1>年龄:{{age}}</h1>
<button @click="say">修改</button>
</div>
</template>
<script>
import {ref} from 'vue'
export default {
name: 'Home',
setup(){
let name = ref('中介')
let age = ref(18)
console.log(name)
console.log(age)
//方法
function say(){
name='波妞'
age=18
}
return {
name,
age,
say
}
}
}
</script>
<template>
<div class="home">
<h1>姓名:{{name}}</h1>
<h1>年龄:{{age}}</h1>
<h2>职业:{{job.occupation}}</h2>
<h2>薪资:{{job.salary}}</h2>
<button @click="say">修改</button>
</div>
</template>
<script>
import {ref} from 'vue'
export default {
name: 'Home',
setup(){
let name = ref('中介')
let age = ref(18)
let job=ref({
occupation:'程序员',
salary:'10k'
})
console.log(name)
console.log(age)
//方法
function say(){
job.value.salary='12k'
}
return {
name,
age,
job,
say
}
}
}
</script>
reactive
Wir haben oben gesagt, dass das Objekt in ref aufgerufen wird reaktiv. Jetzt konvertieren wir es direkt in Proxy. Es hat eine tiefe Reaktionsfähigkeit. Zu diesem Zeitpunkt werden Sie definitiv das Gefühl haben, dass es besser ist, den von .value bereitzustellen ref. Fühlt es sich nicht so an, aber es gibt ein Problem, wenn Sie zu diesem Zeitpunkt nicht ständig auf .value klicken. Sie können die Form simulierter Daten in vue2 verwenden, die sich besser anfühlt.
<template> <div class="home"> <h1>姓名:{{name}}</h1> <h1>年龄:{{age}}</h1> <h2>职业:{{job.occupation}}<br>薪资:{{job.salary}}</h2> <h3>爱好:{{hobby[0]}},{{hobby[1]}},{{ hobby[2] }}</h3> <button @click="say">修改</button> </div> </template> <script> import {ref,reactive} from 'vue' export default { name: 'Home', setup(){ let name = ref('波妞') let age = ref(18) let job=reactive({ occupation:'程序员', salary:'10k' }) let hobby=reactive(['吃饭','睡觉','打豆豆']) console.log(name) console.log(age) //方法 function say(){ job.salary='12k' hobby[0]='学习' } return { name, age, job, say, hobby } } } </script>
Der Unterschied zwischen ref und reaktiv
ref definiert den grundlegenden Datentyp
ref implementiert die Datenentführung durch get und set von Object.defineProperty()
ref betreibt data.value, das beim Lesen nicht benötigt wird. value
reactive definiert den Objekt- oder Array-Datentyp.reactive implementiert die Datenentführung durch Proxy Get und Set von .defineProperty führen Datenhijacking durch, um Reaktionsfähigkeit zu erreichen. In vue2 werden nur die Get- und Set-Methoden zum Lesen und Ändern von Eigenschaften verwendet. Wenn wir Eigenschaften hinzufügen oder löschen, wird die Seite nicht in Echtzeit aktualisiert. 直接通过下标改数组,页面也不会实时更新 vue3中响应式原理使用Proxy进行代理,使用window内置对象Reflect反射,学了Es6的语法的就知道我们在使用Proxy进行代理,好比甲方公司给出需要什么技术的前端攻城狮,让乙方去干招聘、面试等环节 Proxy可以拦截对象中任意的属性变化,当然包括读写,添加,删除等 Reflect对源对象属性进行操作 【相关推荐:《vue.js教程》】 Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen der Syntax von vue3 und vue2?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!const p=new Proxy(data, {
// 读取属性时调用
get (target, propName) {
return Reflect.get(target, propName)
},
//修改属性或添加属性时调用
set (target, propName, value) {
return Reflect.set(target, propName, value)
},
//删除属性时调用
deleteProperty (target, propName) {
return Reflect.deleteProperty(target, propName)
}
})

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Die Verwendung von Bootstrap in Vue.js ist in fünf Schritte unterteilt: Startstrap installieren. Bootstrap in main.js. Verwenden Sie die Bootstrap -Komponente direkt in der Vorlage. Optional: benutzerdefinierter Stil. Optional: Verwenden Sie Plug-Ins.

Sie können der VUE -Taste eine Funktion hinzufügen, indem Sie die Taste in der HTML -Vorlage an eine Methode binden. Definieren Sie die Methode und schreiben Sie die Funktionslogik in der VUE -Instanz.

Es gibt drei Möglichkeiten, sich auf JS -Dateien in Vue.js zu beziehen: Geben Sie den Pfad direkt mit dem & lt; Skript & gt an. Etikett;; Dynamischer Import mit dem montierten () Lebenszyklushaken; und importieren über die Vuex State Management Library.

Mit der Watch -Option in Vue.js können Entwickler auf Änderungen in bestimmten Daten anhören. Wenn sich die Daten ändert, löst sich eine Rückruffunktion aus, um Aktualisierungsansichten oder andere Aufgaben auszuführen. Zu den Konfigurationsoptionen gehören unmittelbar, die festlegen, ob ein Rückruf sofort ausgeführt werden soll, und Deep, das feststellt, ob Änderungen an Objekten oder Arrays rekursiv anhören sollen.

VUE Multi-Page-Entwicklung ist eine Möglichkeit, Anwendungen mithilfe des Vue.js-Frameworks zu erstellen, in dem die Anwendung in separate Seiten unterteilt ist: Code-Wartung: Die Aufteilung der Anwendung in mehrere Seiten kann das Verwalten und Wartungsbereich erleichtern. Modularität: Jede Seite kann als separates Modul für eine einfache Wiederverwendung und den Austausch verwendet werden. Einfaches Routing: Die Navigation zwischen Seiten kann durch einfache Routing -Konfiguration verwaltet werden. SEO -Optimierung: Jede Seite hat eine eigene URL, die SEO hilft.

VUE.JS hat vier Methoden, um zur vorherigen Seite zurückzukehren: $ router.go (-1) $ router.back () verwendet & lt; Router-Link to = & quot;/& quot; Komponentenfenster.history.back () und die Methodenauswahl hängt von der Szene ab.

Es gibt drei gängige Methoden für Vue.js, um Arrays und Objekte zu durchqueren: Die V-für-Anweisung wird verwendet, um jedes Element zu durchqueren und Vorlagen zu rendern; Die V-Bind-Anweisung kann mit V-für dynamisch Attributwerte für jedes Element verwendet werden. und die .MAP -Methode kann Array -Elemente in Neuarrays umwandeln.

Zu den Methoden zum Implementieren des Sprung eines Tags in VUE gehören: Verwenden des A -Tags in der HTML -Vorlage, um das HREF -Attribut anzugeben. Verwenden Sie die Router-Link-Komponente des Vue-Routings. Verwenden Sie dies. $ Router.push () Methode in JavaScript. Parameter können durch den Abfrageparameter weitergeleitet werden, und Routen sind in den Routeroptionen für dynamische Sprünge konfiguriert.
