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

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

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

前言

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

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

那么readonlyshallowReadonly這兩個API就很有用了的

readonly

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

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

頁面沒有更新有兩種情況

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

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

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

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

shallowreadonly

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

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

應用場景: 不希望數(shù)據(jù)被修改,當數(shù)據(jù)是從別的地方取過來,不希望影響源數(shù)據(jù)

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

總結

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

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

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

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

相關文章

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

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

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

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

    這篇文章主要介紹了詳解vue頁面首次加載緩慢原因及解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-11-11
  • Vue項目保持element組件同行,設置組件不自動換行問題

    Vue項目保持element組件同行,設置組件不自動換行問題

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

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

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

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

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

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

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

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

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

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

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

    vue具名插槽的基本使用實例

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

    教你用vue實現(xiàn)一個有趣的圍繞圓弧動畫效果

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

最新評論

许昌县| 新乡县| 荔波县| 鄂州市| 北辰区| 安吉县| 安丘市| 长葛市| 肃北| 筠连县| 长顺县| 珲春市| 苏州市| 永平县| 扬州市| 阜平县| 许昌市| 湟中县| 庐江县| 博乐市| 崇阳县| 青海省| 五大连池市| 阿坝| 正阳县| 华宁县| 平谷区| 友谊县| 远安县| 清远市| 天等县| 东方市| 海盐县| 卓资县| 太原市| 察哈| 务川| 合江县| 松江区| 商都县| 伊川县|