Was ist die Verwendung von Nexttick in Vue?
In Vue wird nexttick() verwendet, um den Aufruf der Rückruffunktion nach dem nächsten DOM-Aktualisierungszyklus zu verzögern. Sie können den verzögerten Rückruf nach dem Ende des nächsten DOM-Aktualisierungszyklus ausführen und ihn verwenden, um das aktualisierte DOM nach der Änderung der Daten abzurufen. Die Syntax lautet „Vue .nextTick([callback,context])“.
Die Betriebsumgebung dieses Artikels: Windows 10-System, Vue Version 2.9.6, DELL G3-Computer.
Was ist die Verwendung von nexttick in Vue?
Definition: Führen Sie einen verzögerten Rückruf aus, nachdem der nächste DOM-Aktualisierungszyklus endet. Verwenden Sie diese Methode unmittelbar nach der Änderung der Daten, um das aktualisierte DOM zu erhalten.
Also wurde diese Vue-Methode zum Abrufen des aktualisierten DOM abgeleitet. Daher sollte die in der Rückruffunktion Vue.nextTick() platzierte Ausführung der JS-Code sein, der das DOM betreibt. Verständnis: nextTick() verzögert die Rückruffunktion, bis das Dom das nächste Mal die Daten aktualisiert. Wenn die Daten im DOM aktualisiert und gerendert werden, wird diese Funktion automatisch ausgeführt Gemäß einer bestimmten Strategie wird das DOM aktualisiert. $nextTick soll einen verzögerten Rückruf ausführen, nachdem der nächste DOM-Aktualisierungszyklus endet. Wenn Sie $nextTick nach dem Ändern der Daten verwenden, können Sie das aktualisierte DOM im Rückruf erhalten.
Wann müssen Sie Vue.nextTick() verwenden? ?
1. Die DOM-Operation, die von der Hook-Funktion „created()“ des Vue-Lebenszyklus ausgeführt wird, muss in der Callback-Funktion von „Vue.nextTick()“ platziert werden. Der Grund dafür ist, dass das DOM überhaupt nicht gerendert wird, wenn die Funktion „created(“ ) Hook-Funktion ausgeführt wird. Zu diesem Zeitpunkt sind DOM-Operationen zwecklos, daher muss der js-Code für DOM-Operationen in die Rückruffunktion von Vue.nextTick() eingefügt werden. Dies entspricht der gemounteten Hook-Funktion, da die gesamte DOM-Montage abgeschlossen ist, wenn diese Hook-Funktion ausgeführt wird.
<template> <div class="hello"> <div> <button id="firstBtn" @click="testClick()" ref="aa">{{testMsg}}</button> </div> </div> </template> <script> export default { name: 'HelloWorld', data () { return { testMsg:"原始值", } }, methods:{ testClick:function(){ let that=this; that.testMsg="修改后的值"; console.log(that.$refs.aa.innerText); //that.$refs.aa获取指定DOM,输出:原始值 } } } </script>
2. Wenn Sie etwas basierend auf dem neuen DOM tun möchten, nachdem Sie die Daten des DOM-Elements im Projekt geändert haben, müssen Sie eine Reihe von js-Operationen für das neue DOM in die Rückruffunktion von Vue.nextTick einfügen. ); allgemeines Verständnis Ja: Nach dem Ändern der Daten müssen Sie sie verwenden, wenn Sie js verwenden möchten, um die neue Ansicht sofort zu bedienen
methods:{ testClick:function(){ let that=this; that.testMsg="修改后的值"; that.$nextTick(function(){ console.log(that.$refs.aa.innerText); //输出:修改后的值 }); } }
Die korrekte Verwendung ist: Nachdem Vue die Dom-Elementstruktur geändert hat, verwenden Sie vue.$nextTick ()-Methode zum Implementieren einer verzögerten Ausführung nach der Aktualisierung der Dom-Daten Folgecode
created(){ let that=this; that.$nextTick(function(){ //不使用this.$nextTick()方法会报错 that.$refs.aa.innerHTML="created中更改了按钮内容"; //写入到DOM元素 }); },
3 Wenn Sie ein Plug-in eines Drittanbieters verwenden, wenn einige von vue generierte Dom-Dynamik Wenn Sie sich ändern, wird diese Methode ebenfalls verwendet. Zu diesem Zeitpunkt müssen Sie die Rückruffunktion von $nextTick verwenden. Führen Sie die Methode aus, um das Plug-In erneut anzuwenden.
Vue.nextTick(callback) Verwendungsprinzip:
Der Grund dafür ist, dass Vue Dom-Aktualisierungen asynchron durchführt. Sobald Datenänderungen beobachtet werden, öffnet Vue eine Warteschlange und beobachtet sie dann in derselben Ereignisschleife wird in diese Warteschlange verschoben. Wenn dieser Watcher mehrmals ausgelöst wird, wird er nur einmal in die Warteschlange verschoben. Durch dieses Pufferverhalten können unnötige Berechnungen und DOm-Operationen, die durch doppelte Daten verursacht werden, wirksam vermieden werden. In der nächsten Ereignisschleife löscht Vue die Warteschlange und führt die erforderlichen DOM-Aktualisierungen durch.
Wenn Sie vm.someData = 'new value' festlegen, wird das DOM nicht sofort aktualisiert. Stattdessen werden die erforderlichen DOM-Aktualisierungen durchgeführt, wenn die asynchrone Warteschlange gelöscht wird, d. h. wenn die Aktualisierung zu Beginn durchgeführt wird die nächste Ereignisschleife. Wenn Sie zu diesem Zeitpunkt etwas auf der Grundlage des aktualisierten DOM-Status tun möchten, treten Probleme auf. . Um zu warten, bis Vue die Aktualisierung des DOM nach den Datenänderungen abgeschlossen hat, können Sie Vue.nextTick(callback) unmittelbar nach den Datenänderungen verwenden. Diese Rückruffunktion wird aufgerufen, nachdem die DOM-Aktualisierung abgeschlossen ist.
【Verwandte Empfehlung: „
vue.js Tutorial“】
Das obige ist der detaillierte Inhalt vonWas ist die Verwendung von Nexttick in Vue?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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.

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.

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.

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.

Es gibt zwei Möglichkeiten, Divelemente in Vue zu springen: Verwenden Sie Vue Router und fügen Sie Router-Link-Komponente hinzu. Fügen Sie den @click Event -Listener hinzu und nennen Sie dies. $ Router.push () Methode zum Springen.
