Inhaltsverzeichnis
1. Konzept:
二、详解:
三、两个注意点
1、setup执行的时机
2、setup的参数
1 Der Zeitpunkt der Setup-Ausführung
2 , Setup-Parameter
Heim Web-Frontend View.js Lassen Sie uns über den Rückgabewert der Setup-Funktion in vue3 sprechen

Lassen Sie uns über den Rückgabewert der Setup-Funktion in vue3 sprechen

Aug 09, 2022 am 10:26 AM
vue setup

1. Konzept:

setup ist ein neues Konfigurationselement in vue3, der Wert ist eine Funktion, die Daten, Methoden usw., die wir in der Komponente verwenden, Alle muss im Setup konfiguriert werden. [Verwandte Empfehlungen: vue.js Video-Tutorial] setup是vue3中的一个新的配置项,值为一个函数,我们在组件中用到的数据、方法等等,都要配置在setup中。【相关推荐:vue.js视频教程

二、详解:

setup函数的返回值有两种
1、返回一个渲染函数,可以自定义渲染内容(用得不多,了解即可)

import {h} from 'vue'...setup() {
    ...
    return () => h('h1','学习')}
Nach dem Login kopieren

2、返回一个对象,对象中的属性和方法在模板中可以直接使用
(1)在vue2的配置中可读取到vue3配置中的属性和方法

methods: {
	test1() {
		console.log(this.sex);
		console.log(this.sayHello);
	}},setup() {
	const sex = ref('女')
	function sayHello() {
		alert('你好啊')
	}
	return {
		sex,
		sayHello	}}
Nach dem Login kopieren

Lassen Sie uns über den Rückgabewert der Setup-Funktion in vue3 sprechen
(2)在vue3的配置中不能读取vue2配置中的属性和方法

data() {
	return {
		sex:'男'
	}},methods: {
	sayHello() {
		alert('你好啊')
	}},setup() {
	function test2() {
		console.log(this.sex);
		console.log(this.sayHello);
	}
	return {
		test2	}}
Nach dem Login kopieren

Lassen Sie uns über den Rückgabewert der Setup-Funktion in vue3 sprechen
(3)如果vue2和vue3的配置有冲突,则vue3的setup优先

data() {
	return {
		sex:'男'
	}},setup() {
	const sex = ref('女')
	return {
		sex	}}
Nach dem Login kopieren

Lassen Sie uns über den Rückgabewert der Setup-Funktion in vue3 sprechen

注意点:
(1)vue2和vue3的配置尽量不要混用
(2)setup不能是一个async函数,因为返回值不再是return的对象, 而是promise, 模板看不到return对象中的属性。(后期也可以返回一个Promise实例,但需要Suspense和异步组件的配合)

三、两个注意点

1、setup执行的时机

在beforeCreate之前执行一次,this是undefined。

beforeCreate(){
	console.log('beforeCreate');},setup(){
	console.log('setup',this);}
Nach dem Login kopieren

Lassen Sie uns über den Rückgabewert der Setup-Funktion in vue3 sprechen

2、setup的参数

1、props:值为对象,包含:组件外部传递过来,且组件内部声明接收了的属性。
在父组件中给子组件传递数据

<demo></demo>
Nach dem Login kopieren
Nach dem Login kopieren

在子组件中接收

props:['msg','name'], // 需要声明一下接受到了,否则会报警告setup(props){
	console.log(props)}
Nach dem Login kopieren

Lassen Sie uns über den Rückgabewert der Setup-Funktion in vue3 sprechen
并且接收到的数据被包装成一个代理对象,能够实现响应式。

2、context:上下文对象
1、attrs: 值为对象,包含:组件外部传递过来,但没有在props配置中声明的属性, 相当于 this.$attrs

父子组件通信过程中,父组件把数据传递过来,如果子组件没有用props进行接收,就会出现在attrs中,而vm中没有
Lassen Sie uns über den Rückgabewert der Setup-Funktion in vue3 sprechen
如果用props接收了,则会出现在vm上而attrs中没有

props:['msg','name']
Nach dem Login kopieren

Lassen Sie uns über den Rückgabewert der Setup-Funktion in vue3 sprechen
2、emit: 分发自定义事件的函数, 相当于 this.$emit
在父组件中给子组件绑定一个事件

<demo></demo>
Nach dem Login kopieren
Nach dem Login kopieren

在子组件中触发事件并且可以传值过去

emits:['hello'], // 要声明接收到了hello事件,否则会报警告context.emit('hello',666)
Nach dem Login kopieren

3、slots: 收到的插槽内容, 相当于 this.$slots

2. Ausführliche Erklärung:

Die Setup-Funktion hat zwei Rückgabewerte
1. Gibt eine Rendering-Funktion zurück, die den Rendering-Inhalt anpassen kann (wird nicht oft verwendet, verstehen Sie es einfach) 🎜
<demo>
	<template>
		<span>你好</span>
	</template></demo>
Nach dem Login kopieren
🎜2. Gibt einen Objekt, die Eigenschaften und Methoden im Objekt können direkt in der Vorlage verwendet werden
(1) Die Eigenschaften und Methoden in der vue3-Konfiguration können in der vue2-Konfiguration gelesen werden🎜rrreee🎜Bildbeschreibung hier einfügen
(2) In der Konfiguration von vue3 Eigenschaften und Methoden in der vue2-Konfiguration können nicht gelesen werden "/>
(3) Wenn es einen Konflikt zwischen den Konfigurationen von vue2 und vue3 gibt, hat die Einrichtung von vue3 Vorrang🎜rrreee🎜Bildbeschreibung hier einfügen
🎜🎜Hinweise:
(1) Konfigurieren Sie vue2 und vue3 so viel wie möglich Mischen Sie sie nicht
(2) Setup kann keine asynchrone Funktion sein, da der Rückgabewert nicht mehr das Rückgabeobjekt, sondern ein Versprechen ist und die Vorlage die Attribute im Rückgabeobjekt nicht sehen kann. (Sie können eine Promise-Instanz auch später zurückgeben, dies erfordert jedoch die Zusammenarbeit von Suspense und asynchronen Komponenten.) 🎜🎜Drei, zwei Punkte, die Sie beachten sollten🎜

1 Der Zeitpunkt der Setup-Ausführung

🎜Einmal vor dem Erstellen ausführen. das ist undefiniert. 🎜rrreee🎜Bildbeschreibung hier einfügen🎜

2 , Setup-Parameter

🎜1. Requisiten: Der Wert ist ein Objekt, einschließlich: Attribute, die von außerhalb der Komponente übergeben und von der internen Deklaration der Komponente empfangen werden.
Übergeben Sie Daten an die untergeordnete Komponente in der übergeordneten Komponente🎜rrreee🎜Empfangen Sie in der untergeordneten Komponente🎜rrreee🎜Bildbeschreibung hier einfügen
Und die empfangenen Daten werden in ein Proxy-Objekt gepackt, was die Reaktionsfähigkeit ermöglicht. 🎜🎜2. Kontext: Kontextobjekt
1. Der Wert ist ein Objekt, einschließlich: Attribute, die von außerhalb der Komponente übergeben, aber nicht in den Requisiten deklariert wurden Konfiguration, äquivalent zu <code>this.$attrs. 🎜🎜Während des Kommunikationsprozesses zwischen der übergeordneten und der untergeordneten Komponente übergibt die übergeordnete Komponente die Daten. Wenn die untergeordnete Komponente keine Requisiten verwendet, um sie zu empfangen, werden sie in attrs angezeigt, jedoch nicht in der VM
Bildbeschreibung hier einfügen
Wenn es mit Requisiten empfangen wird, wird es angezeigt auf der VM und in Attrs Nein 🎜rrreee🎜Bildbeschreibung hier einfügen
2. emit: Eine Funktion, die benutzerdefinierte Ereignisse verteilt, äquivalent zu this.$emit.
Binden Sie ein Ereignis an die untergeordnete Komponente in der übergeordneten Komponente🎜rrreee🎜Lösen Sie das Ereignis in der untergeordneten Komponente aus und übergeben Sie den Wert🎜rrreee🎜3.: Der empfangene Slot-Inhalt. Entspricht this.$slots. 🎜rrreee🎜Verwenden Sie den V-Slot für den maskierten Slot in vue3:🎜

Das obige ist der detaillierte Inhalt vonLassen Sie uns über den Rückgabewert der Setup-Funktion in vue3 sprechen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So fügen Sie Funktionen zu Schaltflächen für Vue hinzu So fügen Sie Funktionen zu Schaltflächen für Vue hinzu Apr 08, 2025 am 08:51 AM

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.

So verwenden Sie Bootstrap in Vue So verwenden Sie Bootstrap in Vue Apr 07, 2025 pm 11:33 PM

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.

So verwenden Sie Watch in Vue So verwenden Sie Watch in Vue Apr 07, 2025 pm 11:36 PM

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.

So verweisen Sie auf die JS -Datei mit Vue.js So verweisen Sie auf die JS -Datei mit Vue.js Apr 07, 2025 pm 11:27 PM

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.

Was bedeutet VUE Multi-Page-Entwicklung? Was bedeutet VUE Multi-Page-Entwicklung? Apr 07, 2025 pm 11:57 PM

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.

So kehren Sie von Vue zur vorherigen Seite zurück So kehren Sie von Vue zur vorherigen Seite zurück Apr 07, 2025 pm 11:30 PM

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.

So fragen Sie die Version von Vue So fragen Sie die Version von Vue Apr 07, 2025 pm 11:24 PM

Sie können die Vue -Version mit Vue Devtools abfragen, um die Registerkarte VUE in der Konsole des Browsers anzuzeigen. Verwenden Sie NPM, um den Befehl "npm list -g vue" auszuführen. Suchen Sie das Vue -Element im Objekt "Abhängigkeiten" der Datei package.json. Führen Sie für Vue -CLI -Projekte den Befehl "Vue --version" aus. Überprüfen Sie die Versionsinformationen im & lt; Skript & gt; Tag in der HTML -Datei, die sich auf die VUE -Datei bezieht.

So übergeben Sie Parameter für die VUE -Funktion So übergeben Sie Parameter für die VUE -Funktion Apr 08, 2025 am 07:36 AM

Es gibt zwei Hauptmöglichkeiten, um Parameter an vue.js -Funktionen zu übergeben: Daten mit Slots übergeben oder eine Funktion mit Bindungen binden und Parameter bereitstellen: PLAMETER mithilfe von Slots: Daten in Komponentenvorlagen übergeben, in Komponenten zugegriffen und als Parameter der Funktion verwendet werden. Passparameter mit Bindungsbindung passieren: Bindungsfunktion in VUE.JS -Instanz und Bereitstellung von Funktionsparametern.

See all articles