Vue3 hat mehrere neue Methoden zum Erstellen von responsiven Daten hinzugefügt. Natürlich sind auch ihre jeweiligen Funktionen unterschiedlich. Jede Methode hat ihr eigenes Anwendungsszenario. Heute werden wir darüber sprechen, was ref toRef und toRefs sind. Welche Unterschiede gibt es in der Anwendung? Wie verwendet man es am besten? 1. Grundlagen 1.Referenz (1) Generieren Sie reaktionsfähige Daten vom Werttyp und ändern Sie den Wert über .value <Vorlage> <div>{{ Altersreferenz }}</div> </Vorlage> <Skript> importiere { ref } von 'vue' Standard exportieren { aufstellen() { const AlterRef = ref(20) setzeIntervall(() => { Altersreferenzwert += 1 }, 1000) zurückkehren { Altersreferenz } }, } </Skript> Der obige Code definiert eine ageRef-Variable und erhöht ageRef jede Sekunde um 1. Der auf der Seite angezeigte Wert wird ebenfalls um 1 erhöht. (2) Kann in reaktiven Ändern Sie den obigen Code wie folgt: Importieren Sie die reaktive Definitionsvariable, importieren Sie die Ref-Definitionsvariable in reaktiv und zeigen Sie die reaktive Variable in der Vorlage an. Der endgültige Effekt ist der gleiche wie oben (1). <Vorlage> <div>{{ info.age }}</div> </Vorlage> <Skript> importiere { ref, reaktiv } von 'vue' Standard exportieren { aufstellen() { const AlterRef = ref(20) const info = reaktiv({ Alter: ageRef }) setzeIntervall(() => { Altersreferenzwert += 1 }, 1000) zurückkehren { Info } }, } </Skript> (3) Kann verwendet werden, um Dom zu erhalten <Vorlage> <div ref="eleDom">ref-dom-test</div> </Vorlage> <Skript> importiere { ref, onMounted } von 'vue' Standard exportieren { aufstellen() { const eleDom = ref(null) beimMounted(() => { console.log(eleDom.value.innerHTML) // ref-dom-test }) zurückkehren { eleDom } }, } Die Konsole des obigen Codes gibt „ref-dom-test“ aus, was anzeigt, dass das Dom-Element abgerufen wurde. Der definierte Ref-Variablenname muss mit dem Wert im Vorlagen-Ref übereinstimmen, wie z. B. eleDom im Code. 2. toRef
Schauen wir uns den folgenden Code an <Vorlage> <div>{{ staat.alter }} --- {{ ageRef }}</div> </Vorlage> <Skript> importiere { toRef, reaktiv } von 'vue' Standard exportieren { aufstellen() { const state = reaktiv({ Name: 'JL', Alter: 18 }) const ageRef = toRef(Staat, 'Alter') setzeTimeout(() => { Staat.Alter = 20 }, 1000) setzeTimeout(() => { Altersreferenzwert = 21 }, 2000) zurückkehren { Zustand, Altersreferenz } }, } </Skript> Im obigen Code wird toRef verwendet, um die Alterseigenschaft von state in eine reaktionsfähige Variable umzuwandeln. Dann wird nach 1 Sekunde der Alterswert von state auf 20 geändert, woraufhin ageRef ebenfalls 20 wird. Nach 2 Sekunden wird der Wert von ageRef auf 21 geändert, woraufhin der Alterswert von state ebenfalls 21 wird, was darauf hinweist, dass die beiden eine gegenseitige Referenzbeziehung aufrechterhalten. toRef dient der Reaktionsfähigkeit, nicht gewöhnlichen Objekten. Wenn es für Nicht-Reaktionsfähigkeit verwendet wird, reagiert das Ausgabeergebnis nicht. 3. zu Referenzen
Schauen wir uns den folgenden Code an <Vorlage> <div>{{ Name }}---{{ Alter }}</div> </Vorlage> <Skript> importiere { reaktiv, toRefs } von 'vue' Standard exportieren { aufstellen() { const state = reaktiv({ Name: 'JL', Alter: 18 }) const stateRefs = toRefs(Zustand) setzeTimeout(() => { Staat.Alter = 20 }, 1000) setzeTimeout(() => { stateRefs.age.value = 21 }, 2000) StateRefs zurückgeben }, } </Skript> Im obigen Code wird toRefs verwendet, um den Status in ein normales Objekt umzuwandeln. Zu diesem Zeitpunkt können stateRefs direkt zurückgegeben und Name und Alter direkt in der Vorlage aufgerufen werden. Dann wird nach 1 Sekunde der Alterswert des Status auf 20 geändert und der Alterswert auf der Seite wird ebenfalls 20; nach 2 Sekunden wird der Wert des Namens in stateRefs auf 21 geändert und der Alterswert auf der Seite wird ebenfalls 21, was darauf hinweist, dass die beiden eine gegenseitige Referenzbeziehung aufrechterhalten. Nachdem toRefs das responsive Objekt in ein normales Objekt umgewandelt hat, verfügt jedes Attribut über einen responsiven Verweis. Zu diesem Zeitpunkt müssen Sie .value verwenden, um seinen Wert abzurufen. 4. Beste Verwendung
Zum Beispiel: <Vorlage> <div>x:{{x}} y:{{y}}</div> </Vorlage> <Skript> importiere { reaktiv, toRefs } von 'vue' Standard exportieren { aufstellen() { Funktion test() { const state = reaktiv({ x: 1, y: 2 }) zurück zu Refs (Status) } const {x, y} = test() setzeTimeout(() => { x.Wert = 2 }, 1000) zurückkehren { X, j } } } </Skript> Im obigen Code wird der Status des reagierenden Objekts in der Testfunktion definiert, in ein normales Objekt konvertiert und über toRefs zurückgegeben. Zu diesem Zeitpunkt kann die Struktur zugewiesen werden und der Wert reagiert. 2. Ausführlich1. Warum brauchen wir ref?Wie oben erwähnt, können mit „reactive“ und „toRef“ auch Werttypen in „responsive“ konvertiert werden. Warum brauchen wir also immer noch „ref“?
2. Warum braucht ref .valueWarum muss ref einen .value hinzufügen, um den Wert zu erhalten? Warum ist das so problematisch?
3. Warum brauchen wir toRef und toRefs?
Dies ist das Ende dieses Artikels zum Verständnis des Unterschieds zwischen ref toRef und toRefs in Vue3. Weitere relevante Vue3 ref toRef- und toRefs-Inhalte 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:
|
<<: Implementierungsbeispiel für die Bereitstellung von Docker rocketmq
>>: Hinweise zum Upgrade auf mysql-connector-java8.0.27
FileReader ist eine wichtige API für die Frontend...
1. Im Kreis herumlaufen Nach einigem Herumexperim...
Aus Hardwaregründen kann es vorkommen, dass die M...
Wenn ein Webprojekt immer größer wird, werden sei...
Wichtige Modifikatoren Wenn wir auf Tastaturereig...
Lernprogramm zum Hyperlink-Tag einer HTML-Webseit...
Vorwort 1. Die in diesem Artikel verwendeten Tool...
In diesem Artikel wird hauptsächlich die Methode ...
1. Laden Sie das neueste Nginx-Docker-Image herun...
1: Nginx-Serverlösung, ändern Sie die .conf-Konfi...
Ich glaube, einige Leute haben dieses Bild gesehe...
Die Entsprechung zwischen der Tensorflow-Version ...
1 Methode ist eine Eigenschaft, die angibt, wie Da...
Installations-Tutorial für VMware12.0+Ubuntu16.04...
Inhaltsverzeichnis Algorithmische Strategie Einze...