国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Was bedeutet vue dom?

Dec 20, 2022 pm 08:41 PM
vue dom Virtual Dom

DOM ist ein Dokumentobjektmodell und eine Schnittstelle für die HTML-Programmierung. Elemente auf der Seite werden über DOM manipuliert. Das DOM ist eine speicherinterne Objektdarstellung eines HTML-Dokuments und bietet eine M?glichkeit, mithilfe von JavaScript mit Webseiten zu interagieren. Das DOM ist eine Hierarchie (oder ein Baum) von Knoten mit dem Dokumentknoten als Wurzel.

Was bedeutet vue dom?

Die Betriebsumgebung dieses Tutorials: Windows7-System, Vue3-Version, DELL G3-Computer.

Was ist Dom? Dom ist ein Dokumentobjektmodell und eine Schnittstelle für die HTML-Programmierung. Sie k?nnen Dom zum Bedienen von Elementen auf der Seite verwenden. Wenn eine HTML-Seite geladen wird, erstellt der Browser ein DOM, das dem Dokument eine neue logische Struktur verleiht und den Inhalt und die Struktur ?ndern kann. DOM wird als Document Object Model (kurz DOM) bezeichnet und ist eine von der W3C-Organisation empfohlene Standardprogrammierschnittstelle zur Verarbeitung erweiterbarer Auszeichnungssprachen.

DOM ist eine speicherinterne Objektdarstellung eines HTML-Dokuments Bietet Interaktion mit Webseiten mithilfe von JavaScript. Das DOM ist eine Hierarchie (oder ein Baum) von Knoten mit dem Dokumentknoten als Wurzel.

Tats?chlich ist DOM ein Dokumentmodell, das objektorientiert beschrieben wird. Das DOM definiert die Objekte, die zum Darstellen und ?ndern eines Dokuments erforderlich sind, das Verhalten und die Eigenschaften dieser Objekte sowie die Beziehungen zwischen diesen Objekten.

Mit JavaScript k?nnen wir das gesamte HTML-Dokument rekonstruieren. Zum Beispiel das Hinzufügen, Entfernen, ?ndern oder Neuanordnen von Elementen auf der Seite.

Um etwas auf der Seite zu ?ndern, muss JavaScript Zugriff auf alle Elemente im HTML-Dokument erhalten. Dieser Eintrag wird zusammen mit den Methoden und Eigenschaften zum Hinzufügen, Verschieben, ?ndern oder Entfernen von HTML-Elementen über das Document Object Model abgerufen.

Was ist virtuelles DOM? Ich glaube, jeder kennt das Konzept des virtuellen DOM. Von React bis Vue bietet virtuelles DOM plattformübergreifende Funktionen für beide Frameworks (React-Native und Weex).

Tats?chlich Es handelt sich lediglich um eine Abstraktionsebene des realen DOM. Es verwendet JavaScript-Objekte (VNode-Knoten) als Basis des Baums und verwendet die Eigenschaften des Objekts, um die Knoten zu beschreiben. Schlie?lich kann dieser Baum dem realen zugeordnet werden DOM durch eine Reihe von Operationen. Aus ?kologischer Sicht wird das virtuelle DOM in Javascript-Objekten als Objektobjekt dargestellt. Und es enth?lt mindestens drei Attribute: Tag-Name (Tag), Attribute (Attrs) und untergeordnete Elementobjekte (Children). Verschiedene Frameworks k?nnen unterschiedliche Namen für diese drei Attribute haben. Der Zweck der Erstellung eines virtuellen DOM besteht darin, virtuelle Knoten besser zu integrieren. In der Seitenansicht gerendert, sodass die Knoten des virtuellen DOM-Objekts nacheinander den Eigenschaften des realen DOM entsprechen. Definieren Sie das reale DOMrrreeDurch VNode kann in diesem abstrakten Baum Knoten erstellen, Knoten l?schen und Knoten ?ndern. Mithilfe des Diff-Algorithmus k?nnen wir einige Mindesteinheiten ermitteln, die ge?ndert werden müssen, und dann die Ansicht aktualisieren, wodurch die Leistung verbessert wird.

Mehrere Methoden für Vue, um DOM zu erhalten

Obwohl Vue das MVVM-Modell implementiert und Daten und Leistung trennt, müssen wir nur die Daten aktualisieren, um das DOM synchron zu aktualisieren. In einigen F?llen ist dies jedoch immer noch erforderlich Erhalten Sie DOM-Elemente für den Betrieb (z. B. erfordert eine eingeführte Bibliothek die übergabe eines Root-DOM-Elements als Root-Knoten oder das Schreiben einiger benutzerdefinierter Anweisungen. In diesem Artikel werden haupts?chlich verschiedene Methoden zum Abrufen von DOM-Elementen in Vue vorgestellt.

Verwenden Sie die DOM-API, um das Element direkt zu finden

<div id="app">
    <p class="p">節(jié)點(diǎn)內(nèi)容</p>
    <h3>{{ foo }}</h3>
</div>

Diese Methode ist einfach und intuitiv genug. Am Ende der Patch-Phase weist die Vue-Komponente this.$el zu Als gemountetes Root-Dom-Element k?nnen wir $els querySelector, querySelectorAll und andere Methoden direkt verwenden, um passende Elemente zu erhalten.

refs

const app = new Vue({
    el:"#app",
    data:{
        foo:"foo"
    }
})
Verwenden Sie die $refs der Komponenteninstanz, um das Attribut ref zu erhalten das der Komponente entsprechende Element.
Wenn das ref-Attribut zu einer Komponente hinzugefügt wird, erhalten Sie die Instanz dieser Komponente, andernfalls erhalten Sie das DOM-Element. Es ist erw?hnenswert, dass, wenn die Schleifenvorlagenanweisung v-for enthalten ist, das Attribut ref auf dem Schleifenelement und dem Unterelement einem Array entspricht (auch wenn ref wird dynamisch generiert, auch ein Array):
(function anonymous(
) {
	with(this){return _c(&#39;div&#39;,{attrs:{"id":"app"}},[_c(&#39;p&#39;,{staticClass:"p"},
					  [_v("節(jié)點(diǎn)內(nèi)容")]),_v(" "),_c(&#39;h3&#39;,[_v(_s(foo))])])}})

Der Grund dafür kann Vues Teil des Codes zur Ref-Verarbeitung entnommen werden:

<script>
	...
	mounted () {
		let elm = this.$el.querySelector(&#39;#id&#39;)
	}
</script>

Benutzerdefiniert verwenden AnweisungenVue bietet für benutzerdefinierte Anweisungen das offizielle Dokument die folgende Verwendungsmethode, wobei el ein Verweis auf das Dom-Element ist

<template>
	<div ref="bar">{{ foo }}</div>
	<MyAvatar ref="avatar" />
	...
</template>
<script>
	...
	mounted () {
		let foo = this.$refs[&#39;bar&#39;] // 一個(gè)dom元素
		let avatar = this.$refs[&#39;avatar&#39;] // 一個(gè)組件實(shí)例對(duì)象
	}
</script>

In Bezug auf benutzerdefinierte Anweisungen ist es in einigen Komponentenbibliotheken sehr nützlich und Ereignisberichtsszenarien. this.$el賦值為掛載的根dom元素,我們可以直接使用$elquerySelector, querySelectorAll等方法獲取匹配的元素。

refs

<template>
	<div v-for="item in qlist" :key="item.id" ref="qitem">
		<h3>{{ item.title  }}</h3>
		<p ref="pinitem">{{ item.desc }}</p>
		<p :ref="&#39;contact&#39;+item.id">{{ item.contact }}</p>
	</div>
	...
</template>
<script>
	...
	data () {
		return {
			qlist: [
				{ id: 10032, title: &#39;abc&#39;, desc: &#39;aadfdcc&#39;, contact: 123 },
				{ id: 11031, title: &#39;def&#39;, desc: &#39;--*--&#39;, contact: 856 },
				{ id: 20332, title: &#39;ghi&#39;, desc: &#39;?/>,<{]&#39;, contact: 900 }
			]
		}
	},
	mounted () {
		let foo = this.$refs[&#39;qitem&#39;] // 一個(gè)包含dom元素的數(shù)組
		let ps = this.$refs[&#39;pinitem&#39;] // p元素是v-for的子元素,同樣是一個(gè)數(shù)組
		let contact1 = this.$refs[&#39;contact&#39; + this.qlist[0].id] // 還是個(gè)數(shù)組
	}
</script>

使用組件實(shí)例的$refs即可拿到組件上ref屬性對(duì)應(yīng)的元素。
如果ref屬性加在一個(gè)組件上,那么拿到的是這個(gè)組件的實(shí)例,否則拿到的就是dom元素了。

值得注意的是包含v-for循環(huán)模板指令的情況,其循環(huán)元素和子元素上ref屬性對(duì)應(yīng)的都是一個(gè)數(shù)組(就算動(dòng)態(tài)生成ref,也是數(shù)組):

function registerRef (vnode, isRemoval) {
  var key = vnode.data.ref;
  if (!isDef(key)) { return }

  var vm = vnode.context;
  // vnode如果有componentInstance表明是一個(gè)組件vnode,它的componentInstance屬性是其真實(shí)的根元素vm
  // vnode如果沒有componentInstance則不是組件vnode,是實(shí)際元素vnode,直接取其根元素
  var ref = vnode.componentInstance || vnode.elm;
  var refs = vm.$refs;
  if (isRemoval) {
    ...
  } else {
  	// refInFor是模板編譯階段生成的,它是一個(gè)布爾值,為true表明此vnode在v-for中
    if (vnode.data.refInFor) {
      if (!Array.isArray(refs[key])) {
        refs[key] = [ref]; // 就算元素唯一,也會(huì)被處理成數(shù)組
      } else if (refs[key].indexOf(ref) < 0) {
        // $flow-disable-line
        refs[key].push(ref);
      }
    } else {
      refs[key] = ref;
    }
  }
}

關(guān)于這個(gè)的原因,可以從Vue關(guān)于ref處理的部分代碼得到:

Vue.directive(&#39;focus&#39;, {
  // 當(dāng)被綁定的元素插入到 DOM 中時(shí)……
  inserted: function (el) {
    // 聚焦元素
    el.focus()
  }
})

// 在模板中
<template>
	<input v-model="name" v-focus />
</template>

使用自定義指令

Vue提供了自定義指令,官方文檔給出了如下的使用方法,其中el

【Verwandte Empfehlungen:

vuejs-Video-Tutorial

,

Web-Front-End-Entwicklung

Das obige ist der detaillierte Inhalt vonWas bedeutet vue dom?. 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

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

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.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

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)

Hei?e Themen

PHP-Tutorial
1502
276
Welche Bedeutung hat die Reaktivit?tsumwandlung von Vues (experimentell, dann entfernt) und seine Ziele? Welche Bedeutung hat die Reaktivit?tsumwandlung von Vues (experimentell, dann entfernt) und seine Ziele? Jun 20, 2025 am 01:01 AM

Reaktivit?tsformInvue3AMEDTosimplifyStellingRectiveAtaTAnyautomatic -TrackingAnagingRiftingRifting -Wirklichkeit mit

Wie k?nnen Internationalisierung (I18N) und Lokalisierung (L10N) in einer VUE -Anwendung implementiert werden? Wie k?nnen Internationalisierung (I18N) und Lokalisierung (L10N) in einer VUE -Anwendung implementiert werden? Jun 20, 2025 am 01:00 AM

Internationalisierung undLokalisationInvueAppsAprimal-HandleDusedthevuei18nPlugin.1.Installvue-i18nvianpMoryarn.2.CreatelocalejsonFiles (z

Was ist die Server -Side -Rendering -SSR in Vue? Was ist die Server -Side -Rendering -SSR in Vue? Jun 25, 2025 am 12:49 AM

Server-Siderenderering (SSR) InvueimerProveSperformanceAndSoBygeneratingHtmlontheserver

Wie baue ich eine Komponentenbibliothek mit Vue? Wie baue ich eine Komponentenbibliothek mit Vue? Jul 10, 2025 pm 12:14 PM

Um eine VUE -Komponentenbibliothek zu erstellen, muss die Struktur rund um das Gesch?ftsszenario gestaltet werden und dem vollst?ndigen Entwicklungs-, Testen- und Freigabungsprozess folgen. 1. Das strukturelle Design sollte nach Funktionsmodulen klassifiziert werden, einschlie?lich grundlegender Komponenten, Layoutkomponenten und Gesch?ftskomponenten. 2. Verwenden Sie SCSS- oder CSS -Variablen, um das Thema und den Stil zu vereinen. 3.. Vereinen Sie die Namenspezifikationen und führen Sie Eslint und sch?ner ein, um den konsistenten Codestil zu gew?hrleisten. V. 5. Verwenden Sie Vite und andere Tools, um als NPM -Pakete zu packen und Rollupoptions zu konfigurieren. 6. Befolgen Sie die SEMVER -Spezifikation, um Versionen und ChangeLogs beim Ver?ffentlichen zu verwalten.

Wie implementieren Sie überg?nge und Animationen in Vue? Wie implementieren Sie überg?nge und Animationen in Vue? Jun 24, 2025 pm 02:17 PM

ToaddtransitionSandanimationInvue, Anwendungseingebungen, Anwendungen, LeveragetransitionhooksforControl und optimizeperformance.1.WrapelementsWitHandApplycsstransitionClasses wie unein- und aktiv-activeBasicfacefade-Lideffeekts.2.

Was ist der Zweck der NextTick -Funktion in Vue und wann ist es notwendig? Was ist der Zweck der NextTick -Funktion in Vue und wann ist es notwendig? Jun 19, 2025 am 12:58 AM

NextTick wird in Vue verwendet, um Code nach DOM -Update auszuführen. Wenn sich die Daten ?ndert, aktualisiert VUE das DOM nicht sofort, sondern stellt ihn in die Warteschlange ein und verarbeitet es in der n?chsten Ereignisschleife "Tick". Wenn Sie also auf das aktualisierte DOM zugreifen oder bedienen müssen, sollte NextTick verwendet werden. Zu den gemeinsamen Szenarien geh?ren: Zugriff auf den aktualisierten DOM-Inhalt, die Zusammenarbeit mit Bibliotheken von Drittanbietern, die sich auf den DOM-Zustand verlassen, und berechnen basierend auf der Elementgr??e; Die Nutzung beinhaltet das Aufrufen. Zu den Vorsichtsma?nahmen geh?ren: Vermeidung überm??iger Verwendung, in den meisten F?llen ist keine manuelle Ausl?ser erforderlich, und ein NextTick kann gleichzeitig mehrere Updates erfassen.

So verwenden Sie PHP, um eine Q & A -Community -Plattform zu entwickeln, detaillierte Erl?uterung des interaktiven Monetisierungsmodells mit PHP -Community So verwenden Sie PHP, um eine Q & A -Community -Plattform zu entwickeln, detaillierte Erl?uterung des interaktiven Monetisierungsmodells mit PHP -Community Jul 23, 2025 pm 07:21 PM

1. Die erste Wahl für die Kombination aus Laravel Mysql Vue/React in der PHP -Entwicklungsfrage und der Antwortgemeinschaft ist die erste Wahl für die Kombination aus Laravel Mysql Vue/React aufgrund ihrer Reife im ?kosystem und der hohen Entwicklungseffizienz; 2. Die hohe Leistung erfordert Abh?ngigkeit von Cache (REDIS), Datenbankoptimierung, CDN und asynchronen Warteschlangen; 3. Die Sicherheit muss mit Eingabefilterung, CSRF -Schutz, HTTPS, Kennwortverschlüsselung und Berechtigungssteuerung erfolgen. V.

Was sind einige h?ufige Fallstricke oder Anti-Muster bei der Entwicklung von VUE-Anwendungen? Was sind einige h?ufige Fallstricke oder Anti-Muster bei der Entwicklung von VUE-Anwendungen? Jun 19, 2025 am 12:36 AM

Bei der Entwicklung von VUE-Anwendungen umfassen gemeinsame Anti-Muster: 1. Beim Umgang mit komplexer Logik in der Vorlage sollte die Logik auf Methoden oder berechnet werden; 2. Missbrauch von V-IF und V-Show, und die Auswahl sollte vernünftigerweise auf der Schaltfrequenz basieren. 3. Die direkte Indexierung, um das Array zu ?ndern oder Objektattribute hinzuzufügen, um die Reaktionsf?higkeit zu zerst?ren, und die Mutationsmethode oder die $ -Spreis sollte verwendet werden. V. 5. In falscher Nutzung von Lebenszyklus -Haken sollte auf die Verantwortlichkeiten in jeder Phase und die Nebenwirkungen der Reinigung aufmerksam gemacht werden.

See all articles