最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vueJs函數(shù)toRaw?markRaw使用對(duì)比詳解

 更新時(shí)間:2023年03月31日 12:22:50   作者:itclanCoder  
這篇文章主要為大家介紹了vueJs函數(shù)toRaw?markRaw使用對(duì)比詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

前言

針對(duì)一些特殊的需求,在項(xiàng)目里,需要將響應(yīng)式數(shù)據(jù)變?yōu)槠胀ㄔ碱?lèi)型數(shù)據(jù),這種情況是有的

Vue里,能夠?qū)⑵胀〝?shù)據(jù)類(lèi)型的數(shù)據(jù)變?yōu)轫憫?yīng)式數(shù)據(jù),同時(shí),也能將響應(yīng)式類(lèi)型數(shù)據(jù)變?yōu)槠胀?lèi)型數(shù)據(jù)

可以用于提升數(shù)據(jù)的性能

toRaw()函數(shù)

接收一個(gè)reactive響應(yīng)式數(shù)據(jù),將一個(gè)響應(yīng)式的數(shù)據(jù)變?yōu)槠胀?lèi)型的數(shù)據(jù),轉(zhuǎn)化為非響應(yīng)式數(shù)據(jù),相當(dāng)于還原對(duì)象,reactive相當(dāng)于制作,但對(duì)于ref響應(yīng)式數(shù)據(jù)不起作用

將一個(gè)由reactive生成的響應(yīng)式對(duì)象轉(zhuǎn)為普通(原始)對(duì)象

toRaw()可以返回由reactive(),readonly(),shallowReactive()shallowReadonly()創(chuàng)建的代理對(duì)應(yīng)的原始對(duì)象

這是一個(gè)可以用臨時(shí)讀取而不引起代理訪問(wèn)/跟蹤開(kāi)銷(xiāo),或是寫(xiě)入而不觸發(fā)更改的特殊方法,在官方文檔里,是不建議保存對(duì)原始對(duì)象的持久引用

使用場(chǎng)景:用于讀取響應(yīng)式對(duì)象的普通對(duì)象,對(duì)這個(gè)普通對(duì)象的所有操作,不會(huì)引起頁(yè)面的更新

const foo = {}
const reactiveFoo = reactive(foo)
console.log(toRaw(reactiveFoo) === foo)  // true

注意

針對(duì)對(duì)象,后續(xù)動(dòng)態(tài)新增的屬性,如果沒(méi)有把整個(gè)對(duì)象對(duì)外暴露出去,模板中使用新增的變量是不生效的(針對(duì)setup函數(shù)形式)

markRaw()函數(shù)

接收一個(gè)原始數(shù)據(jù),標(biāo)記一個(gè)對(duì)象,使它永遠(yuǎn)不會(huì)再成為響應(yīng)式對(duì)象,也就是數(shù)據(jù)在邏輯中即使修改變化了,但是頁(yè)面不會(huì)更新變化

將一個(gè)對(duì)象標(biāo)記為不可被轉(zhuǎn)為代理,返回該對(duì)象本身

應(yīng)用場(chǎng)景:

[1]. 有些值不應(yīng)該被設(shè)置為響應(yīng)式的,例如復(fù)雜的第三方類(lèi)庫(kù)或Vue組件對(duì)象

[2]. 當(dāng)渲染具有不可變數(shù)據(jù)源的大列表時(shí),跳過(guò)響應(yīng)式轉(zhuǎn)換可以提高性能

const foo = markRaw({})
console.log(isReactive(reactive(foo))) // false
// 也適用于嵌套在其他響應(yīng)性對(duì)象
const bar = reactive({ foo })
console.log(isReactive(bar.foo)) // false

markRaw()shallowReactive()這樣淺層式API使你可以有選擇的避開(kāi)默認(rèn)的深度響應(yīng)/只讀轉(zhuǎn)換,并在狀態(tài)關(guān)系譜中嵌入原始,非代理的對(duì)象

如果把一個(gè)嵌套的,沒(méi)有標(biāo)記的原始對(duì)象設(shè)置成一個(gè)響應(yīng)式對(duì)象,然后再次訪問(wèn)它,你獲取到的是代理的版本,這可能會(huì)導(dǎo)致對(duì)象身份風(fēng)險(xiǎn)

即執(zhí)行一個(gè)依賴(lài)于對(duì)象身份的操作,但卻同時(shí)使用了同一對(duì)象的原始版本和代理版本

const foo = markRaw({
  nested: {}
})
const bar = reactive({
  // 盡管 `foo` 被標(biāo)記為了原始對(duì)象,但 foo.nested 卻沒(méi)有
  nested: foo.nested
})
console.log(foo.nested === bar.nested) // false

總結(jié)

ref()reactive()是將一個(gè)非響應(yīng)式類(lèi)型數(shù)據(jù)變?yōu)轫憫?yīng)式數(shù)據(jù),而toRaw()markRaw()相當(dāng)于是對(duì)響應(yīng)式數(shù)據(jù)的還原,將一個(gè)響應(yīng)式數(shù)據(jù)變?yōu)榉琼憫?yīng)式數(shù)據(jù)

toRaw只針對(duì)響應(yīng)式對(duì)象類(lèi)型的數(shù)據(jù)起作用,如果涉及到將一個(gè)響應(yīng)式數(shù)據(jù)轉(zhuǎn)變?yōu)榉琼憫?yīng)式數(shù)據(jù),只用于純數(shù)據(jù)的渲染,不引起頁(yè)面的更新,就可以使用toRawmarkRaw()

以上就是vueJs函數(shù)toRaw markRaw使用對(duì)比詳解的詳細(xì)內(nèi)容,更多關(guān)于vueJs函數(shù)toRaw markRaw的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • petite vue 基本使用指南示例小結(jié)

    petite vue 基本使用指南示例小結(jié)

    petite-vue 是為漸進(jìn)增強(qiáng)而優(yōu)化的另一種 Vue 發(fā)行版,它提供與標(biāo)準(zhǔn) Vue 相同的模板語(yǔ)法和反應(yīng)性心智模型,這篇文章主要介紹了petite vue 基本使用指南,需要的朋友可以參考下
    2024-07-07
  • Vue中的Ajax?配置代理slot插槽的方法詳解

    Vue中的Ajax?配置代理slot插槽的方法詳解

    這篇文章主要介紹了Vue中的Ajax?配置代理?slot插槽的相關(guān)知識(shí),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06
  • 基于vue通用表單解決方案的思考與分析

    基于vue通用表單解決方案的思考與分析

    這篇文章主要給大家介紹了基于vue通用表單解決方案的思考與分析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • vue3?父子組件間相互傳值方式

    vue3?父子組件間相互傳值方式

    這篇文章主要介紹了vue3?父子組件間相互傳值方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • 詳解VUE單頁(yè)應(yīng)用骨架屏方案

    詳解VUE單頁(yè)應(yīng)用骨架屏方案

    這篇文章主要介紹了詳解VUE單頁(yè)應(yīng)用骨架屏方案,詳細(xì)的介紹了什么是骨架屏以及是憲法方案,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • vue實(shí)現(xiàn)虛擬列表功能的代碼

    vue實(shí)現(xiàn)虛擬列表功能的代碼

    這篇文章主要介紹了vue實(shí)現(xiàn)虛擬列表,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • vue-cli3項(xiàng)目在IE瀏覽器打開(kāi)兼容問(wèn)題及解決

    vue-cli3項(xiàng)目在IE瀏覽器打開(kāi)兼容問(wèn)題及解決

    這篇文章主要介紹了vue-cli3項(xiàng)目在IE瀏覽器打開(kāi)兼容問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • vue實(shí)現(xiàn)右上角時(shí)間顯示實(shí)時(shí)刷新

    vue實(shí)現(xiàn)右上角時(shí)間顯示實(shí)時(shí)刷新

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)右上角時(shí)間顯示實(shí)時(shí)刷新,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • vue+elementUI用戶(hù)修改密碼的前端驗(yàn)證規(guī)則

    vue+elementUI用戶(hù)修改密碼的前端驗(yàn)證規(guī)則

    用戶(hù)登錄后修改密碼,密碼需要一定的驗(yàn)證規(guī)則,這篇文章主要介紹了vue+elementUI用戶(hù)修改密碼的前端驗(yàn)證,需要的朋友可以參考下
    2024-03-03
  • 完美解決axios跨域請(qǐng)求出錯(cuò)的問(wèn)題

    完美解決axios跨域請(qǐng)求出錯(cuò)的問(wèn)題

    下面小編就為大家分享一篇完美解決axios跨域請(qǐng)求出錯(cuò)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02

最新評(píng)論

陕西省| 蓬溪县| 临沧市| 水城县| 隆尧县| 若羌县| 深圳市| 永年县| 济宁市| 梁平县| 那曲县| 柘城县| 河津市| 建瓯市| 中宁县| 博爱县| 南陵县| 崇礼县| 中方县| 屯昌县| 永平县| 长葛市| 聂荣县| 黄梅县| 玉山县| 宿州市| 霍城县| 延寿县| 贵州省| 含山县| 隆安县| 汪清县| 新昌县| 延吉市| 柳州市| 兴业县| 哈巴河县| 乐陵市| 洱源县| 陆川县| 获嘉县|