vue3响应式数据的判断
Vue3中,常用的响应式数据判断方法有以下几个:
isRef
,是否是由ref
定义的响应式数据isReactive
,是否是由reactive
定义的响应式数据isReadonly
,是否是由readonly
定义的数据isProxy
,是否是由reactive
或readonly
定义的数据
简单的例子:
<template>
<h2>当前和值为{{sum}}</h2>
<h2>这台{{brand}}的售价是{{price}}</h2>
</template>
<script>
import { ref,reactive,readonly,toRefs, isRef,isReactive, isReadonly, isProxy} from 'vue';
export default {
name:"App",
setup(){
let sum = ref(0);
let phone= reactive({
brand:"Iphone14ProMax",
price:"10775"
})
let phone2= readonly(phone);
console.log("isRef(sum)=",isRef(sum));
console.log("isReactive(phone)=",isReactive(phone));
console.log("isReadonly(phone2)=",isReadonly(phone2));
console.log("isProxy(phone)=",isProxy(phone));
console.log("isProxy(phone2)=",isProxy(phone2));
console.log("isRef(phone)=",isRef(phone));
return {
sum,
...toRefs(phone)
}
}
}
</script>