Apakah maksud vue dom?

Dec 20, 2022 pm 08:41 PM
vue dom dom maya

DOM ialah model objek dokumen dan antara muka untuk pengaturcaraan HTML dalam halaman dimanipulasi melalui DOM. DOM ialah perwakilan objek dalam memori bagi dokumen HTML, dan ia menyediakan cara untuk berinteraksi dengan halaman web menggunakan JavaScript. DOM ialah hierarki (atau pokok) nod dengan nod dokumen sebagai akarnya.

Apakah maksud vue dom?

Persekitaran pengendalian tutorial ini: sistem windows7, versi vue3, komputer DELL G3.

Apakah unsur dom? Apabila halaman HTML dimuatkan, penyemak imbas mencipta DOM, yang menyediakan struktur logik baharu untuk dokumen dan boleh menukar kandungan dan struktur. DOM dipanggil Model Objek Dokumen (pendek kata DOM), iaitu antara muka pengaturcaraan standard untuk memproses bahasa penanda boleh diperluaskan yang disyorkan oleh organisasi W3C

DOM ialah objek dalam memori perwakilan dokumen HTML. Ia menyediakan cara untuk berinteraksi dengan halaman web menggunakan JavaScript. DOM ialah hierarki (atau pokok) nod dengan nod dokumen sebagai akarnya.

Malah, DOM ialah model dokumen yang diterangkan dalam cara berorientasikan objek. DOM mentakrifkan objek yang diperlukan untuk mewakili dan mengubah suai dokumen, kelakuan dan sifat objek ini dan hubungan antara objek ini.

Dengan JavaScript, kami boleh membina semula keseluruhan dokumen HTML. Seperti menambah, mengalih keluar, menukar atau menyusun semula item pada halaman.

Untuk menukar sesuatu pada halaman, JavaScript perlu mendapatkan akses kepada semua elemen dalam dokumen HTML. Entri ini, bersama-sama dengan kaedah dan sifat untuk menambah, mengalih, menukar atau mengalih keluar elemen HTML, diperoleh melalui Model Objek Dokumen.

Apakah itu DOM maya

Saya percaya semua orang sudah biasa dengan konsep DOM maya Dari React to Vue, DOM maya ialah Kedua-dua rangka kerja membawa keupayaan merentas platform (React-Native dan Weex) Malah, ia hanyalah lapisan abstraksi DOM sebenar, dengan objek JavaScript (nod VNode) sebagai pokok asas, menggunakan atribut objek digunakan untuk menerangkan nod, dan akhirnya pokok boleh dipetakan ke persekitaran sebenar melalui satu siri operasi

Dalam objek Javascript, DOM maya diwakili sebagai objek Objek. Dan ia mengandungi sekurang-kurangnya tiga atribut: nama tag (tag), atribut (attrs) dan objek elemen anak (kanak-kanak). nod ke dalam paparan halaman, jadi nod objek DOM maya sepadan dengan sifat DOM sebenar satu demi satu

Teknologi DOM maya juga digunakan dalam vue

Tentukan DOM sebenar

Segera vue

Perhatikan render render, kita boleh dapatkan DOM maya

<div id="app">
    <p class="p">节点内容</p>
    <h3>{{ foo }}</h3>
</div>
Salin selepas log masuk

Melalui VNode, vue boleh mencipta pokok abstrak ini Untuk operasi nod, memadam nod dan mengubah suai nod, beberapa unit minimum yang perlu diubah suai diperoleh melalui algoritma perbezaan, dan kemudian paparan dikemas kini, yang mengurangkan operasi DOM dan meningkatkan prestasi.

const app = new Vue({
    el:"#app",
    data:{
        foo:"foo"
    }
})
Salin selepas log masuk

Beberapa kaedah untuk Vue mendapatkan DOM
(function anonymous(
) {
	with(this){return _c(&#39;div&#39;,{attrs:{"id":"app"}},[_c(&#39;p&#39;,{staticClass:"p"},
					  [_v("节点内容")]),_v(" "),_c(&#39;h3&#39;,[_v(_s(foo))])])}})
Salin selepas log masuk

Walaupun Vue melaksanakan model MVVM dan memisahkan data dan prestasi, kami hanya perlu mengemas kini data boleh mengemas kini DOM secara serentak, tetapi dalam beberapa kes, ia masih perlu untuk mendapatkan elemen DOM untuk operasi (contohnya, perpustakaan yang diperkenalkan memerlukan elemen dom akar sebagai nod akar, atau menulis beberapa arahan tersuai artikel ini). memperkenalkan Beberapa cara untuk mendapatkan elemen DOM dalam Vue.

Gunakan API DOM untuk mencari terus elemen

Kaedah ini mudah dan cukup intuitif pada penghujung tampung fasa, komponen Vue akan 🎜> diberikan nilai elemen dom akar yang dipasang Kita boleh terus menggunakan dan kaedah lain untuk mendapatkan elemen padanan.

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

refsthis.$el$elquerySelector, querySelectorAll

Gunakan

contoh komponen untuk mendapatkan elemen yang sepadan dengan atribut pada komponen. Jika atribut ref ditambahkan pada komponen, maka apa yang anda dapat ialah contoh komponen ini, jika tidak, apa yang anda dapat ialah elemen DOM. Perlu diambil perhatian bahawa apabila arahan templat gelung

disertakan, atribut
<template>
	<div ref="bar">{{ foo }}</div>
	<MyAvatar ref="avatar" />
	...
</template>
<script>
	...
	mounted () {
		let foo = this.$refs[&#39;bar&#39;] // 一个dom元素
		let avatar = this.$refs[&#39;avatar&#39;] // 一个组件实例对象
	}
</script>
Salin selepas log masuk
pada elemen gelung dan sub-elemen sepadan dengan tatasusunan (walaupun ref dijana secara dinamik, ia adalah masih tatasusunan):

$refsrefSebab untuk ini boleh didapati daripada bahagian kod Vue pada pemprosesan ref:

v-forref

Gunakan arahan tersuai
<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;] // 一个包含dom元素的数组
		let ps = this.$refs[&#39;pinitem&#39;] // p元素是v-for的子元素,同样是一个数组
		let contact1 = this.$refs[&#39;contact&#39; + this.qlist[0].id] // 还是个数组
	}
</script>
Salin selepas log masuk

Vue menyediakan arahan tersuai, dan dokumentasi rasmi memberikan kaedah penggunaan berikut, dengan
function registerRef (vnode, isRemoval) {
  var key = vnode.data.ref;
  if (!isDef(key)) { return }

  var vm = vnode.context;
  // vnode如果有componentInstance表明是一个组件vnode,它的componentInstance属性是其真实的根元素vm
  // vnode如果没有componentInstance则不是组件vnode,是实际元素vnode,直接取其根元素
  var ref = vnode.componentInstance || vnode.elm;
  var refs = vm.$refs;
  if (isRemoval) {
    ...
  } else {
  	// refInFor是模板编译阶段生成的,它是一个布尔值,为true表明此vnode在v-for中
    if (vnode.data.refInFor) {
      if (!Array.isArray(refs[key])) {
        refs[key] = [ref]; // 就算元素唯一,也会被处理成数组
      } else if (refs[key].indexOf(ref) < 0) {
        // $flow-disable-line
        refs[key].push(ref);
      }
    } else {
      refs[key] = ref;
    }
  }
}
Salin selepas log masuk
merujuk kepada elemen dom

Mengenai arahan tersuai, dalam sesetengah perpustakaan komponen dan pelaporan acara, dsb. Sangat berguna dalam senario. [Cadangan berkaitan:

tutorial video vuejs

, elpembangunan bahagian hadapan web

]
Vue.directive(&#39;focus&#39;, {
  // 当被绑定的元素插入到 DOM 中时……
  inserted: function (el) {
    // 聚焦元素
    el.focus()
  }
})

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

Atas ialah kandungan terperinci Apakah maksud vue dom?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara merujuk fail js dengan vue.js Cara merujuk fail js dengan vue.js Apr 07, 2025 pm 11:27 PM

Terdapat tiga cara untuk merujuk kepada fail JS dalam vue.js: Secara langsung tentukan jalan menggunakan & lt; skrip & gt; tag ;; import dinamik menggunakan cangkuk kitaran hayat yang dipasang (); dan mengimport melalui Perpustakaan Pengurusan Negeri VUEX.

Cara menambah fungsi ke butang untuk vue Cara menambah fungsi ke butang untuk vue Apr 08, 2025 am 08:51 AM

Anda boleh menambah fungsi ke butang VUE dengan mengikat butang dalam templat HTML ke kaedah. Tentukan kaedah dan tulis logik fungsi dalam contoh Vue.

Cara Menggunakan Watch di Vue Cara Menggunakan Watch di Vue Apr 07, 2025 pm 11:36 PM

Pilihan Watch di Vue.js membolehkan pemaju mendengar perubahan dalam data tertentu. Apabila data berubah, tontonkan mencetuskan fungsi panggil balik untuk melakukan paparan kemas kini atau tugas lain. Pilihan konfigurasinya termasuk segera, yang menentukan sama ada untuk melaksanakan panggilan balik dengan serta -merta, dan mendalam, yang menentukan sama ada untuk mendengarkan secara rekursif terhadap objek atau tatasusunan.

Cara menggunakan bootstrap di vue Cara menggunakan bootstrap di vue Apr 07, 2025 pm 11:33 PM

Menggunakan bootstrap dalam vue.js dibahagikan kepada lima langkah: Pasang bootstrap. Import bootstrap di main.js. Gunakan komponen bootstrap secara langsung dalam templat. Pilihan: Gaya tersuai. Pilihan: Gunakan pemalam.

Cara kembali ke halaman sebelumnya oleh Vue Cara kembali ke halaman sebelumnya oleh Vue Apr 07, 2025 pm 11:30 PM

Vue.js mempunyai empat kaedah untuk kembali ke halaman sebelumnya: $ router.go (-1) $ router.back () menggunakan & lt; router-link to = & quot;/& quot; Komponen Window.History.Back (), dan pemilihan kaedah bergantung pada tempat kejadian.

Vue menyedari kesan menatal marquee/teks Vue menyedari kesan menatal marquee/teks Apr 07, 2025 pm 10:51 PM

Melaksanakan kesan menatal marquee/teks di VUE, menggunakan animasi CSS atau perpustakaan pihak ketiga. Artikel ini memperkenalkan cara menggunakan animasi CSS: Buat teks tatal dan bungkus teks dengan & lt; div & gt;. Tentukan animasi CSS dan tetapkan limpahan: tersembunyi, lebar, dan animasi. Tentukan frasa key, set Transform: TranslateX () pada permulaan dan akhir animasi. Laraskan sifat animasi seperti tempoh, kelajuan tatal, dan arah.

Cara Menanyakan Versi Vue Cara Menanyakan Versi Vue Apr 07, 2025 pm 11:24 PM

Anda boleh menanyakan versi VUE dengan menggunakan Vue Devtools untuk melihat tab VUE dalam konsol penyemak imbas. Gunakan NPM untuk menjalankan arahan "NPM LIST -G VUE". Cari item VUE dalam objek "Dependencies" fail Package.json. Untuk projek Vue CLI, jalankan perintah "Vue -version". Semak maklumat versi di & lt; skrip & gt; Tag dalam fail HTML yang merujuk kepada fail VUE.

Cara Menggunakan Vue Traversal Cara Menggunakan Vue Traversal Apr 07, 2025 pm 11:48 PM

Terdapat tiga kaedah umum untuk vue.js untuk melintasi tatasusunan dan objek: Arahan V-untuk digunakan untuk melintasi setiap elemen dan membuat templat; Arahan V-mengikat boleh digunakan dengan V-untuk menetapkan nilai atribut secara dinamik untuk setiap elemen; dan kaedah .map boleh menukar elemen array ke dalam tatasusunan baru.

See all articles