亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

? ? ????? ????? Q&A vue dom? ?? ?????

vue dom? ?? ?????

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

DOM? ?? ?? ???? HTML ?????? ?? ????????. DOM? ???? ???? ??? ??? ? ????. DOM? HTML ??? ??? ? ?? ???? JavaScript? ???? ? ???? ?? ???? ??? ?????. DOM? ?? ??? ??? ?? ??? ?? ??(?? ??)???.

vue dom? ?? ?????

? ????? ?? ??: windows7 ???, vue3 ??, DELL G3 ???.

dom?? ?????

dom? ?? ?? ???? HTML ?????? ?? ????????. ???? ??? DOM? ?? ?????. HTML ???? ???? ????? ??? ?? ??? ??? ??? ???? ???? ??? ??? ? ?? DOM? ?????.

DOM? W3C ???? ???? ?? ??? ??? ?? ??? ?? ?? ????? ?????? ?? ?? ??(DOM)??? ???.

DOM? HTML ??? ??? ? ?? ?????. JavaScript ??? ???? ? ???? ?? ??? ?????. DOM? ?? ??? ??? ?? ??? ?? ??(?? ??)???.

?? DOM? ???? ???? ??? ?? ?????. DOM? ??? ???? ???? ? ??? ??, ??? ??? ?? ? ??, ??? ?? ?? ??? ?????.

JavaScript? ???? ?? HTML ??? ???? ? ????. ?? ?? ???? ??? ??, ??, ?? ?? ??????.

???? ??? ????? JavaScript? HTML ??? ?? ??? ???? ? ??? ???. HTML ??? ??, ??, ?? ?? ???? ?? ??? ? ??? ?? ? ??? ?? ?? ??? ?? ????.

?? DOM?? ?????

React?? Vue? ????? ?? DOM? ? ?????(React-Native ? Weex) ??? ??? ??? ??? ?????.

?? , ?? ?? DOM? ??? ??? ????. ?? JavaScript ??(VNode ??)? ??? ??? ???? ??? ??? ???? ??? ??? ? ????. ??? ??? ?? DOM ????? ??? Javascript ???? ?? DOM? ?? ??? ?????. ??? ???? ?? ??(tag), ??(attrs) ? ?? ?? ??(children)?? ? ?? ??? ???? ????. ?? DOM? ??? ??? ?? ??? ? ? ???? ????. ??? ?? ?????? ?? DOM ??? ??? ?? DOM? ??? ??? ?????. vue??? ?? DOM? ??? ? ????.

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

VNode, vue? ? ?? ???? ??? ????, ??? ????, diff ????? ?? ???? ?? ?? ??? ?? ?? ?? ?????? dom ??? ??? ??? ???? ? ????.

Vue? DOM? ???? ?? ?? ??

Vue? MVVM ??? ???? ???? ??? ????? DOM? ????? ??????? ???? ?????? ??? ??? ?? ??? ??? ??? ????. ??? ?? DOM ?? ??(?? ??, ??? ??????? ?? DOM ??? ?? ??? ????? ?? ??? ?? ??? ???? ?) ? ????? Vue?? DOM ??? ?? ?? ?? ??? ?? ?????.

DOM API? ???? ??? ?? ????

const app = new Vue({
    el:"#app",
    data:{
        foo:"foo"
    }
})
? ??? ??? ???? ??????. ?? ??? ??? Vue ?? ??? this.$el? ?????. ???? ?? dom ???? $el? querySelector, querySelectorAll ? ?? ???? ?? ???? ???? ??? ?? ? ????.

refs

(function anonymous(
) {
	with(this){return _c(&#39;div&#39;,{attrs:{"id":"app"}},[_c(&#39;p&#39;,{staticClass:"p"},
					  [_v("節(jié)點內(nèi)容")]),_v(" "),_c(&#39;h3&#39;,[_v(_s(foo))])])}})
?? ?? ????? $refs? ???? ref ??? ???????. ?? ??? ???? ?????.
ref ??? ?? ??? ???? ? ?? ??? ????? ?? ??, ??? ??? DOM ??? ?? ???.
v-for ?? ??? ???? ???? ?? ??? ?? ??? ref ??? ??? ????? ?? ??? ??? ????( ref? ???? ???? ????? ???.
<script>
	...
	mounted () {
		let elm = this.$el.querySelector(&#39;#id&#39;)
	}
</script>

?? ?? ??? ref ??? ?? Vue ?? ???? ??? ? ????:

<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>
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;] // 一個包含dom元素的數(shù)組
		let ps = this.$refs[&#39;pinitem&#39;] // p元素是v-for的子元素,同樣是一個數(shù)組
		let contact1 = this.$refs[&#39;contact&#39; + this.qlist[0].id] // 還是個數(shù)組
	}
</script>

使用組件實例的$refs即可拿到組件上ref屬性對應的元素。
如果ref屬性加在一個組件上,那么拿到的是這個組件的實例,否則拿到的就是dom元素了。

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

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]; // 就算元素唯一,也會被處理成數(shù)組
      } else if (refs[key].indexOf(ref) < 0) {
        // $flow-disable-line
        refs[key].push(ref);
      }
    } else {
      refs[key] = ref;
    }
  }
}

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

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

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

使用自定義指令

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

??? ?? ?? Instructions

Vue? ??? ?? ??? ?? ?? ???? ??? ?? ?? ??? ?????. ??? el? dom ??? ?? ?????.rrreee ??? ?? ??? ???? ?? ?? ?? ??????? ?? ?????. ? ??? ?? ????.

【?? ??: ??vuejs ??? ??????, ??? ????? ????】??

? ??? vue dom? ?? ?????? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? ????? ??
? ?? ??? ????? ???? ??? ??????, ???? ?????? ????. ? ???? ?? ???? ?? ??? ?? ????. ???? ??? ???? ???? ??? ?? admin@php.cn?? ?????.

? AI ??

Undresser.AI Undress

Undresser.AI Undress

???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover

AI Clothes Remover

???? ?? ???? ??? AI ?????.

Video Face Swap

Video Face Swap

??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

???

??? ??

???++7.3.1

???++7.3.1

???? ?? ?? ?? ???

SublimeText3 ??? ??

SublimeText3 ??? ??

??? ??, ???? ?? ????.

???? 13.0.1 ???

???? 13.0.1 ???

??? PHP ?? ?? ??

???? CS6

???? CS6

??? ? ?? ??

SublimeText3 Mac ??

SublimeText3 Mac ??

? ??? ?? ?? ?????(SublimeText3)

???

??? ??

??? ????
1597
29
PHP ????
1488
72
???
VUE? ??? ?? (??, ??) ? ??? ???? ?????? VUE? ??? ?? (??, ??) ? ??? ???? ?????? Jun 20, 2025 am 01:01 AM

??? transforminvue3aimedtosimplify handlingreactivedatabyautomicallytrackingandmaningreactivity withoutequiringmanualref () ?? valueusage.itsivingtoreduceboilerplateandimprovecodeReadabilitabledevariableletandsconstasmonclicallicallicallicallicallicallicallicallicallicallicallicalliceLerplateNclateMconsconclicallicallicallicallicallicallicallicallicalliceLerplateN

VUE ?? ?????? ??? (I18N) ? ??? (L10N)? ??? ??? ? ????? VUE ?? ?????? ??? (I18N) ? ??? (L10N)? ??? ??? ? ????? Jun 20, 2025 am 01:00 AM

??? ? ??? invueAppsareprimally handledusingthevuei18nplugin.1.installvue-i18nvianpmoryarn.2.createlocalejsonfiles (? : en.json, es.json) fortranslationMessages.3

VUE?? V-FOR ???? ?? ?? ?? (: ?)? ???? ?? ??? ????? VUE?? V-FOR ???? ?? ?? ?? (: ?)? ???? ?? ??? ????? Jun 08, 2025 am 12:14 AM

?? : keyAttributeWithv-forInvueisSenderferperferformanCanceAndCorrectBehavior.first, ithelpsVuetrackeachelementementEficiledullyBirtlyBirtlyDiffingAlgorithMtoIndifyandUpdateOnlyWhat'Snecessary.second, itpreservescomponents, ensuri

VUE?? ? ?? ?? ??? ?? ??? ???? ??? ??? ? ? ????? VUE?? ? ?? ?? ??? ?? ??? ???? ??? ??? ? ? ????? Jun 07, 2025 am 12:14 AM

VUE? ?? ?? ? ??? ?? ??? ??? ????? ?? : 1. V-Once ???? ???? ?? ???? ???? ???? ????? ????. 2. ?? ???? ???? Vue-Virtual-Scroller ????? ??? ?? ??? ??? ?? ? ??????. 3. ?? ???? ??? ?? Keep-Alive ?? V-Once? ?? ?? ?? ??; 4. ?? ? ?? ? ???? ???? ?? ? ??? ????? ? ??? ??? ????. 5. V-FOR?? ?? ? ??, ???? ??? ??? ??? ?? ?? ??? ???? ?? ??? ?? ? ?? ??? ?????. ??? ??? ?? ???? ????? ???? ? ????.

VUE?? ?? ??? ??? SSR?? ?????? VUE?? ?? ??? ??? SSR?? ?????? Jun 25, 2025 am 12:49 AM

SPR (Server-SiderEndering)? ????? ??? ??? ??? ????

VUE?? ?? ? ?????? ???? ??? ?????? VUE?? ?? ? ?????? ???? ??? ?????? Jun 24, 2025 pm 02:17 PM

ToaddtransitionsandanimationsinVue,usebuilt-incomponentslikeand,applyCSSclasses,leveragetransitionhooksforcontrol,andoptimizeperformance.1.WrapelementswithandapplyCSStransitionclasseslikev-enter-activeforbasicfadeorslideeffects.2.Useforanimatingdynam

VUE? ?? ?? ??? ??? ???? ?? ?????? VUE? ?? ?? ??? ??? ???? ?? ?????? Jun 19, 2025 am 12:58 AM

NextTick? VUE?? DOM ???? ? ??? ???? ? ?????. ???? ???? VUE? ?? DOM? ?????? ??? ?? ??? ?? "Tick"?? DOM? ?? ?????. ??? ???? ? DOM? ?????? ?? ???? ?? NextTick? ???????. ???? ????? ??? ????. ???? ? DOM ??? ???, DOM ??? ???? ?? ?????? ???? ?? ??? ???? ?????. ???? ??? ???? ?? ?????. $ NextTick? ?? ?? ????, ??? ? ???? ???? Async/Await? ?????. ?? ???? ??? ?????. ??? ??? ?????. ???? ?? ?? ????? ???? ??? ?? ?? ? ?? ?? ????? ?? ? ? ????.

VUE? ?? ?? ?????? ???? ??? VUE? ?? ?? ?????? ???? ??? Jul 10, 2025 pm 12:14 PM

VUE ?? ?? ?????? ????? ???? ???? ??? ??? ???? ?? ??, ??? ? ??? ????? ??????. 1. ?? ??? ?? ?? ??, ???? ?? ?? ? ???? ?? ??? ??? ?? ??? ?? ????????. 2. ??? ???? ???? ?? SCSS ?? CSS ??? ??????. 3. ?? ??? ???? ??? ?? ???? ???? ?? Eslint ? Pretier? ?????. 4. ?? ?? ???? ?? ??? ??? ?????. 5. VITE ? ?? ??? ???? NPM ???? ????? ? ??? ?????. 6. Semver ??? ?? ?? ? ? ?? ? Changelogs? ??????.

See all articles