Vue3-shallowRef 和 shallowReactive函数(浅层次的响应式)
shallowRef函数
功能:只给基本数据类型添加响应式。如果是对象,则不会支持响应式,层成也不会创建Proxy对象。 ref和shallowRef在基本数据类型上是没有区别的,shallowRef函数主要作用于不进行修改对象中的属性。
< template>
< h2> 计数器1 :{ { data. counter1} } < / h2>
< button @click= "data.counter1++" > 计数器1 加1 < / button>
< / template>
< script setup>
import { shallowRef } from 'vue'
let data = shallowRef ( {
counter1 : 1
} )
console. log ( data) ;
< / script>
shallowReactive函数
功能:shallowReactive 对象中只有第一层支持响应式,之后的都不支持响应式。
< template>
< h2> 计数器1 :{ { data. counter1} } < / h2>
< button @click= "data.counter1++" > 计数器1 加1 < / button>
< hr>
< h2> 计数器2 :{ { data. a. counter2} } < / h2>
< button @click= "data.a.counter2++" > 计数器2 加1 < / button>
< / template>
< script setup>
import { shallowReactive } from 'vue'
let data = shallowReactive ( {
counter1 : 1 ,
a : {
counter2 : 100
}
} )
< / script>
counter2 : 100
}
} )
< / script>