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

vueJs函數(shù)readonly與shallowReadonly使用對(duì)比詳解

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

前言

在使用vue3開(kāi)發(fā)項(xiàng)目時(shí),對(duì)于一些特殊的需求,針對(duì)有些數(shù)據(jù)字段,在前端,只允許讀取,不允許修改,比如:有的網(wǎng)站用戶名,一旦注冊(cè)了,就不允許修改

當(dāng)然,有時(shí)候,我們從別的地方引用數(shù)據(jù)過(guò)來(lái),用作信息的展示,但是卻不允許修改,不希望影響源數(shù)據(jù)

那么readonlyshallowReadonly這兩個(gè)API就很有用了的

readonly

讓一個(gè)響應(yīng)式數(shù)據(jù)變?yōu)橹蛔x的,接收一個(gè)響應(yīng)式數(shù)據(jù),經(jīng)過(guò)readonly加工處理一下,那么新賦值的數(shù)據(jù)都不允許修改

接受一個(gè)對(duì)象 (不論是響應(yīng)式還是普通的) 或是一個(gè) ref,返回一個(gè)原值的只讀代理

頁(yè)面沒(méi)有更新有兩種情況

[1]. 數(shù)據(jù)修改了,但數(shù)據(jù)不是響應(yīng)式,vue監(jiān)測(cè)不到

[2]. 數(shù)據(jù)壓根就沒(méi)有更改

const original = reactive({ count: 0 })
const copy = readonly(original)
// 更改源屬性會(huì)觸發(fā)其依賴的偵聽(tīng)器
original.count++
// 更改該只讀副本將會(huì)失敗,并會(huì)得到一個(gè)警告,頁(yè)面數(shù)據(jù)不會(huì)更新
copy.count++ // warning!

使用readonly對(duì)響應(yīng)式數(shù)據(jù)包裹處理一下后,則再次修改數(shù)據(jù)時(shí),頁(yè)面數(shù)據(jù)不會(huì)更新

shallowreadonly

接收一個(gè)響應(yīng)式數(shù)據(jù),經(jīng)過(guò)shallowreadonly的處理,變成一個(gè)只讀的,只考慮對(duì)象的第一層數(shù)據(jù),不可以修改,但是第一層嵌套里的深層數(shù)據(jù)卻支持修改

讓一個(gè)響應(yīng)式數(shù)據(jù)變?yōu)橹蛔x能力(淺只讀)

應(yīng)用場(chǎng)景: 不希望數(shù)據(jù)被修改,當(dāng)數(shù)據(jù)是從別的地方取過(guò)來(lái),不希望影響源數(shù)據(jù)

const state = shallowReadonly({
  foo: 1,
  nested: {
    bar: 2
  }
})
// 更改狀態(tài)自身的屬性會(huì)失敗,不可以修改
state.foo++
// ...但可以更改下層嵌套對(duì)象
isReadonly(state.nested) // false
// 這是可以通過(guò)的
state.nested.bar++

總結(jié)

readonlyshallowReadonly都是讓響應(yīng)式數(shù)據(jù)只具備讀的能力,后者是淺層次的只讀,也就是只對(duì)數(shù)據(jù)對(duì)象第一層起作用,深層次的嵌套,當(dāng)時(shí)用shallowReadonl()處理時(shí),深層次數(shù)據(jù)支持被修改

在不希望數(shù)據(jù)被修改,或當(dāng)數(shù)據(jù)是從別的地方取過(guò)來(lái),不希望影響源數(shù)據(jù)時(shí),使用readonly()shallowReadonly()就很有用

至于數(shù)據(jù)能不能修改是由寫代碼的開(kāi)發(fā)者決定的,也是由產(chǎn)品功能決定的,支不支持修改,可以控制數(shù)據(jù)是否能讀寫能力

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

相關(guān)文章

  • Vue實(shí)現(xiàn)點(diǎn)擊時(shí)間獲取時(shí)間段查詢功能

    Vue實(shí)現(xiàn)點(diǎn)擊時(shí)間獲取時(shí)間段查詢功能

    這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)點(diǎn)擊時(shí)間獲取時(shí)間段查詢功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • 詳解vue頁(yè)面首次加載緩慢原因及解決方案

    詳解vue頁(yè)面首次加載緩慢原因及解決方案

    這篇文章主要介紹了詳解vue頁(yè)面首次加載緩慢原因及解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Vue項(xiàng)目保持element組件同行,設(shè)置組件不自動(dòng)換行問(wèn)題

    Vue項(xiàng)目保持element組件同行,設(shè)置組件不自動(dòng)換行問(wèn)題

    這篇文章主要介紹了Vue項(xiàng)目保持element組件同行,設(shè)置組件不自動(dòng)換行問(wèn)題。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Vue.js實(shí)現(xiàn)九宮格圖片展示模塊

    Vue.js實(shí)現(xiàn)九宮格圖片展示模塊

    這篇文章主要為大家詳細(xì)介紹了Vue.js實(shí)現(xiàn)九宮格圖片展示模塊,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • 示例解析Ant?Design?Vue組件slots作用

    示例解析Ant?Design?Vue組件slots作用

    這篇文章主要為大家通過(guò)示例解析Ant?Design?Vue組件slots作用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • Vue3使用組合式API實(shí)現(xiàn)代碼的邏輯復(fù)用

    Vue3使用組合式API實(shí)現(xiàn)代碼的邏輯復(fù)用

    在 Vue 3 的生態(tài)中,組合式 API(Composition API)引入了全新的方式來(lái)構(gòu)建組件,使得邏輯復(fù)用變得更加簡(jiǎn)單和靈活,在傳統(tǒng)的選項(xiàng)API中,邏輯復(fù)用通常依賴于混入和高階組件,本文將通過(guò)示例,帶你了解如何在 Vue 3 中使用組合式 API 來(lái)實(shí)現(xiàn)代碼的邏輯復(fù)用
    2025-01-01
  • vue3給動(dòng)態(tài)渲染的組件添加ref的解決方案

    vue3給動(dòng)態(tài)渲染的組件添加ref的解決方案

    ref和reactive一樣,也是用來(lái)實(shí)現(xiàn)響應(yīng)式數(shù)據(jù)的方法,下面這篇文章主要給大家介紹了關(guān)于vue3給動(dòng)態(tài)渲染的組件添加ref的解決方案,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • VUE生命周期全面系統(tǒng)詳解

    VUE生命周期全面系統(tǒng)詳解

    Vue的生命周期就是vue實(shí)例從創(chuàng)建到銷毀的全過(guò)程,也就是new?Vue()?開(kāi)始就是vue生命周期的開(kāi)始。Vue?實(shí)例有?個(gè)完整的?命周期,也就是從開(kāi)始創(chuàng)建、初始化數(shù)據(jù)、編譯模版、掛載Dom?->?渲染、更新?->?渲染、卸載?等?系列過(guò)程,稱這是Vue的?命周期
    2022-07-07
  • vue具名插槽的基本使用實(shí)例

    vue具名插槽的基本使用實(shí)例

    Vue 中的插槽在開(kāi)發(fā)組件的過(guò)程中其實(shí)是非常重要并且好用的。下面這篇文章主要給大家介紹了關(guān)于vue具名插槽基本使用的相關(guān)資料,需要的朋友可以參考下
    2021-05-05
  • 教你用vue實(shí)現(xiàn)一個(gè)有趣的圍繞圓弧動(dòng)畫效果

    教你用vue實(shí)現(xiàn)一個(gè)有趣的圍繞圓弧動(dòng)畫效果

    最近做的兩個(gè)項(xiàng)目都是關(guān)于vue的,做完整理一下,這篇文章主要給大家介紹了關(guān)于如何用vue實(shí)現(xiàn)一個(gè)有趣的圍繞圓弧動(dòng)畫效果的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04

最新評(píng)論

新密市| 陕西省| 长泰县| 青龙| 城市| 专栏| 平凉市| 容城县| 和政县| 丰原市| 搜索| 华亭县| 茶陵县| 天台县| 太仓市| 吉林省| 丘北县| 沁阳市| 吕梁市| 大竹县| 德惠市| 凤庆县| 丹阳市| 邻水| 岱山县| 阿巴嘎旗| 锡林浩特市| 黎城县| 天柱县| 阳原县| 安福县| 庄浪县| 孝义市| 大埔县| 昂仁县| 抚远县| 寿光市| 青海省| 东宁县| 溧水县| 济源市|