Vue3中的shallowRef?和shallowReactive對比分析
shallowRef
只處理基本數(shù)據(jù)類型的響應(yīng)式, 不進(jìn)行對象的響應(yīng)式處理。


<template>
<h1>{{ user.age }}</h1>
<button @click="user.age++">點擊+</button>
</template>
<script setup lang="ts">
import { reactive, ref, shallowReactive, shallowRef } from 'vue';
let user = shallowRef({
age: 0
});
</script>shallowReactive
只處理對象最外層屬性的響應(yīng)式(淺響應(yīng)式)


<template>
<h1>user.a.b {{ user.a.b }}</h1>
<button @click="user.a.b++">點擊+</button>
</template>
<script setup lang="ts">
import { reactive, ref, shallowReactive, shallowRef } from 'vue';
let user = shallowReactive({
age: 0,
a: {
b: 0
}
});
</script>
關(guān)于Vue3中shallowRef和shallowReactive的使用 可以參考下。
vue3的shallowRef()、shallowReactive()和shallowReadonly()
1.shallowReactive():使用shallowReactive轉(zhuǎn)化的對象只有對象的第一層級有響應(yīng)式。

2.shallowRef():使用shallowRef轉(zhuǎn)化的基本數(shù)據(jù)類型和使用ref沒有差別,使用shallowRef轉(zhuǎn)化的對象都會失去響應(yīng)式。
3.shallowReadonly():使用shallowReadonly轉(zhuǎn)化的對象,只會在對象第一層級才有只讀,除此之外都還具有響應(yīng)式。

3.運(yùn)用場景

如果有數(shù)據(jù)是別的組件傳過來的,并且要求該數(shù)據(jù)不可修改,可以使用readOnly來轉(zhuǎn)化該數(shù)據(jù),防止你改動了數(shù)據(jù)而影響別的組件。
到此這篇關(guān)于Vue3中的shallowRef 和shallowReactive的文章就介紹到這了,更多相關(guān)Vue3中shallowRef 和shallowReactive內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
為什么Vue3.0使用Proxy實現(xiàn)數(shù)據(jù)監(jiān)聽(defineProperty表示不背這個鍋)
這篇文章主要介紹了為什么Vue3.0使用Proxy實現(xiàn)數(shù)據(jù)監(jiān)聽?defineProperty表示不背這個鍋,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
Vue進(jìn)階之CodeMirror的應(yīng)用小結(jié)
CodeMirror支持在線編輯代碼,風(fēng)格包括js, java, php, c++等等100多種語言,下面這篇文章主要來和大家講講CodeMirror的應(yīng)用,感興趣的可以了解一下2023-06-06
vue-element-admin按鈕級權(quán)限管控的實現(xiàn)
開發(fā)離不開權(quán)限,不同的用戶登錄,根據(jù)不同的權(quán)限,可以訪問不同的管理目錄,本文主要介紹了vue-element-admin按鈕級權(quán)限管控的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下2022-04-04
Vue el-table表格第一列序號與復(fù)選框hover切換方式
這篇文章主要介紹了Vue el-table表格第一列序號與復(fù)選框hover切換方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07

