五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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ǔ)的評論 (共 條)

分享到微博請遵守國家法律
舟曲县| 临城县| 刚察县| 鄂尔多斯市| 连江县| 施甸县| 疏勒县| 柳林县| 明星| 五原县| 玉田县| 广宁县| 延庆县| 德令哈市| 乌鲁木齐县| 西峡县| 垫江县| 分宜县| 平陆县| 嘉黎县| 郴州市| 无为县| 北流市| 小金县| 静宁县| 华坪县| 三原县| 方城县| 平阳县| 鹤山市| 朝阳县| 浑源县| 德阳市| 贵溪市| 水富县| 纳雍县| 台湾省| 商洛市| 澄江县| 左云县| 天水市|