Vue3中的shallowRef?和shallowReactive對比分析
shallowRef
只處理基本數據類型的響應式, 不進行對象的響應式處理。


<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
只處理對象最外層屬性的響應式(淺響應式)


<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>
關于Vue3中shallowRef和shallowReactive的使用 可以參考下。
vue3的shallowRef()、shallowReactive()和shallowReadonly()
1.shallowReactive():使用shallowReactive轉化的對象只有對象的第一層級有響應式。

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

3.運用場景

如果有數據是別的組件傳過來的,并且要求該數據不可修改,可以使用readOnly來轉化該數據,防止你改動了數據而影響別的組件。
到此這篇關于Vue3中的shallowRef 和shallowReactive的文章就介紹到這了,更多相關Vue3中shallowRef 和shallowReactive內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
為什么Vue3.0使用Proxy實現數據監(jiān)聽(defineProperty表示不背這個鍋)
這篇文章主要介紹了為什么Vue3.0使用Proxy實現數據監(jiān)聽?defineProperty表示不背這個鍋,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-10-10
Vue el-table表格第一列序號與復選框hover切換方式
這篇文章主要介紹了Vue el-table表格第一列序號與復選框hover切換方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07

