国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

千鋒教育前端Vue3.0全套視頻教程(Kerwin2023版,Vue.js零基礎(chǔ)

2023-07-13 18:19 作者:男神瓜皮信  | 我要投稿

一. 響應(yīng)式原理

1.Vue2中

  • 對象類型:通過Object.defineProperty()對屬性的讀取、修改進(jìn)行攔截(數(shù)據(jù)劫持)。
  • 數(shù)組類型:通過重寫更新數(shù)組的一系列方法來實(shí)現(xiàn)攔截。(對數(shù)組的變更方法進(jìn)行了包裹)。

Object.defineProperty(data, 'count', {

get () {},

set () {}

})

存在問題:

  • 新增屬性、刪除屬性, 界面不會更新。
  • 直接通過下標(biāo)修改數(shù)組, 界面不會自動更新。

2.Vue3中

實(shí)現(xiàn)原理:

  • 通過Proxy(代理): 攔截對象中任意屬性的變化, 包括:屬性值的讀寫、屬性的添加、屬性的刪除等。
  • 通過Reflect(反射): 對源對象的屬性進(jìn)行操作。
  • MDN文檔中描述的Proxy與Reflect

Proxy:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Proxy

Reflect:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Reflect

二. ref 對比reactive

1.從定義數(shù)據(jù)角度對比:

ref用來定義:基本類型數(shù)據(jù)。

reactive用來定義:對象(或數(shù)組)類型數(shù)據(jù)。

備注:ref也可以用來定義對象(或數(shù)組)類型數(shù)據(jù), 它內(nèi)部會自動通過reactive轉(zhuǎn)為代理對象。

2.從原理角度對比:

ref通過Object.defineProperty()的get與set來實(shí)現(xiàn)響應(yīng)式(數(shù)據(jù)劫持)。

reactive通過使用Proxy來實(shí)現(xiàn)響應(yīng)式(數(shù)據(jù)劫持), 并通過Reflect操作源對象內(nèi)部的數(shù)據(jù)。

3.從使用角度對比:

ref定義的數(shù)據(jù):操作數(shù)據(jù)需要.value,讀取數(shù)據(jù)時模板中直接讀取不需要.value。

reactive定義的數(shù)據(jù):操作數(shù)據(jù)與讀取數(shù)據(jù):均不需要.value。

三. setup的注意點(diǎn)

1.setup執(zhí)行的時機(jī)

在beforeCreate之前執(zhí)行一次,this是undefined。

2.setup的參數(shù)

props:值為對象,包含:組件外部傳遞過來,且組件內(nèi)部聲明接收了的屬性。

context:上下文對象

  • attrs: 值為對象,包含:組件外部傳遞過來,但沒有在props配置中聲明的屬性, 相當(dāng)于 this.$attrs。
  • slots: 收到的插槽內(nèi)容, 相當(dāng)于 this.$slots。注意插槽命名用v-solt:name
  • emit: 分發(fā)自定義事件的函數(shù), 相當(dāng)于 this.$emit。




千鋒教育前端Vue3.0全套視頻教程(Kerwin2023版,Vue.js零基礎(chǔ)的評論 (共 條)

分享到微博請遵守國家法律
太和县| 和静县| 万载县| 体育| 印江| 工布江达县| 肇州县| 故城县| 宁河县| 大厂| 大关县| 喜德县| 崇左市| 吉安市| 龙泉市| 吉林市| 广河县| 岳阳市| 双鸭山市| 星座| 咸丰县| 林甸县| 平顶山市| 行唐县| 达州市| 苏州市| 盈江县| 商丘市| 循化| 沁水县| 巫溪县| 右玉县| 巴彦县| 犍为县| 吕梁市| 咸宁市| 文水县| 宜阳县| 比如县| 神池县| 苍南县|