Umfassende Analyse von nextTick in vue
Die folgende Spalte „Vue.js-Tutorial“ stellt Ihnen nextTick in Vue vor. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.
vue ist ein sehr beliebtes Framework, das die Vorteile von Angular und React kombiniert, um ein leichtes und benutzerfreundliches MVVM-Framework mit bidirektionalen Datenbindungsfunktionen zu bilden. Ich benutze es lieber. Wenn wir Vue verwenden, verwenden wir häufig diese Methode. Ich glaube, Sie haben sie auch verwendet. Ein häufiges Szenario, das ich verwende, ist, dass ich nach dem Abrufen von Daten, wenn ich den nächsten Schritt oder andere Vorgänge für die neue Ansicht ausführen muss, feststelle, dass das DOM nicht abgerufen werden kann. Da der Zuweisungsvorgang nur die Änderung des Datenmodells abschließt und nicht die Ansichtsaktualisierung abschließt. Zu diesem Zeitpunkt müssen wir die in diesem Kapitel vorgestellten Funktionen verwenden.
In diesem Fall stellt uns vue die Methode $nextTick zur Verfügung. Wenn wir in Zukunft mit der aktualisierten Ansicht arbeiten möchten, müssen wir nur die auszuführende Funktion an diese Methode übergeben. $nextTick, und vue wird dies tun Erledigen Sie die Arbeit für uns.
Interpretation des Quellcodes
Diese Funktion ist sehr einfach, beginnend mit Zeile 450 der Version vue2.2.6. Verwendet diese Funktion zunächst einen einfachen Zinsmodus oder handelt es sich um eine Abschlussfunktion?new Vue({ el: '#app', data: { list: [] }, mounted: function () { this.get() }, methods: { get: function () { this.$http.get('/api/article').then(function (res) { this.list = res.data.data.list // ref list 引用了ul元素,我想把第一个li颜色变为红色 this.$refs.list.getElementsByTagName('li')[0].style.color = 'red' }) }, } })
var callbacks = []; // 缓存函数的数组 var pending = false; // 是否正在执行 var timerFunc; // 保存着要执行的函数
1. Verzögerter Aufruf von Promise.then
function nextTickHandler () { pending = false; // 拷贝出函数数组副本 var copies = callbacks.slice(0); // 把函数数组清空 callbacks.length = 0; // 依次执行函数 for (var i = 0; i < copies.length; i++) { copies[i](); } }
2. MutationObserver überwacht Änderungen
if (typeof Promise !== 'undefined' && isNative(Promise)) { var p = Promise.resolve(); var logError = function (err) { console.error(err); }; timerFunc = function () { p.then(nextTickHandler).catch(logError); if (isIOS) { setTimeout(noop); } }; }
childList: Änderungen in untergeordneten Elementen.Attributes: Änderungen in Attributen.
- characterData: Änderungen im Knoteninhalt oder Knotentext in Knoten (einschließlich untergeordneter Knoten und untergeordneter Knoten von untergeordneten Knoten)
- Es ist ersichtlich, dass der obige Code einen Textknoten erstellt, um den Inhalt des Textknotens zu ändern und Änderungen auszulösen, da wir nach der Aktualisierung des Datenmodells wird dazu führen, dass der Dom-Knoten neu gerendert wird.
- Also haben wir einen solchen Änderungs-Listener hinzugefügt, der den Listener mit einer Änderung in einem Textknoten auslöst, und nachdem der gesamte Dom gerendert wurde, führen wir die Funktion aus, um unseren Verzögerungseffekt zu erzielen. 3. SetTimeout-Verzögerer Die Funktion wird ausgeführt. Damit ist die Verzögerungsfunktion abgeschlossen.
- Abschlussfunktion
else if (typeof MutationObserver !== 'undefined' && ( isNative(MutationObserver) || MutationObserver.toString() === '[object MutationObserverConstructor]' )) { var counter = 1; var observer = new MutationObserver(nextTickHandler); var textNode = document.createTextNode(String(counter)); observer.observe(textNode, { characterData: true }); timerFunc = function () { counter = (counter + 1) % 2; textNode.data = String(counter); }; }
else { timerFunc = function () { setTimeout(nextTickHandler, 0); }; }
Weitere Kenntnisse zum Thema Programmierung finden Sie unter: Programmierkurse! !
Das obige ist der detaillierte Inhalt vonUmfassende Analyse 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

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

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



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.

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.

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.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.

Implementieren Sie Marquee/Text-Scrolling-Effekte in VUE unter Verwendung von CSS-Animationen oder Bibliotheken von Drittanbietern. In diesem Artikel wird die Verwendung von CSS -Animation vorgestellt: Bildlauftext erstellen und Text mit & lt; div & gt;. Definieren Sie CSS -Animationen und setzen Sie Überlauf: Versteckt, Breite und Animation. Definieren Sie Keyframes, setzen Sie Transformation: Translatex () am Anfang und am Ende der Animation. Passen Sie die Animationseigenschaften wie Dauer, Bildlaufgeschwindigkeit und Richtung an.

Pagination ist eine Technologie, die große Datensätze in kleine Seiten aufteilt, um die Leistung und die Benutzererfahrung zu verbessern. In VUE können Sie die folgende integrierte Methode zum Paging verwenden: Berechnen Sie die Gesamtzahl der Seiten: TotalPages () TRAVERSAL-Seitennummer: V-für Anweisung, um die aktuelle Seite festzulegen: aktuelle Seite

Funktionsabfangen in VUE ist eine Technik, mit der die Häufigkeit, mit der eine Funktion eingerufen wird, innerhalb eines bestimmten Zeitraums aufgerufen wird und Leistungsprobleme verhindern. Die Implementierungsmethode lautet: Importieren Sie die Lodash -Bibliothek: importieren {dunounce} aus 'lodash'; Verwenden Sie die Dabounce -Funktion, um eine Intercept -Funktion zu erstellen: const dabouncedFunction = dunounce (() = & gt; { / logical /}, 500); Rufen Sie die Abfangfunktion auf und die Steuerfunktion wird höchstens einmal in 500 Millisekunden aufgerufen.
