响应式数据的判断

  • isRef: 检查一个值是否为一个 ref 对象。

  • isReactive: 检查一个对象是否是由 reactive 创建的响应式代理。

  • isReadonly: 检查一个对象是否是由 readonly 创建的只读代理。

  • isProxy: 检查一个对象是否是由 reactive 或者 readonly 方法创建的代理。

  1. 我们在setup中定义的数据越来越多, 且很多数据经过函数的处理!就容易分不清了!
  2. 数据到底是什么类型的!或者说这个数据经没经过 readonly 函数的修饰、等等这些。
  3. 还有就是别的组件传递给过来的数据, 我们需要判读一下, 传递的数据到底是 ref类型的;还是 reactive 所定义的响应式数据, 传递的数据有没有经过 readonly 的修饰呢! 都需要判断一下!
  4. 就可以通过这4个api判断一下:  isRef、isReactive、isReactive、isProxy。
<script>
import { ref, toRefs, reactive, readonly, isRef, isReactive, isReadonly, isProxy } from "vue";export default {name: "App",setup() {let car = reactive({ name: '奔驰', price: '40w'})let sum = ref(0)let car2 = readonly(car)console.log(isRef(sum));       // trueconsole.log(isReactive(car));  // trueconsole.log(isReadonly(car2)); // trueconsole.log(isProxy(car));     // true// readonly 处理了响应式数据 car, 但是并没有把数据变为一个 object类型的数据; 数据依然是一个代理类型的数据console.log(isProxy(car2));    // trueconsole.log(isProxy(sum))      // falsereturn { ...toRefs(car) };},
};
</script>

Day 15-其它 Composition API_ 响应式数据的判断相关推荐

  1. Vue响应式数据: Observer模块实现

    前言 首先欢迎大家关注我的Github博客,也算是对我的一点鼓励,毕竟写东西没法获得变现,能坚持下去也是靠的是自己的热情和大家的鼓励.接下来的日子我应该会着力写一系列关于Vue与React内部原理的文 ...

  2. vue源码之响应式数据

    分析vue是如何实现数据响应的. 前记 现在回顾一下看数据响应的原因. 之前看了vuex和vue-i18n的源码, 他们都有自己内部的vm, 也就是vue实例. 使用的都是vue的响应式数据特性及$w ...

  3. Vue响应式数据: Observer模块实现 1

    前言   首先欢迎大家关注我的Github博客,也算是对我的一点鼓励,毕竟写东西没法获得变现,能坚持下去也是靠的是自己的热情和大家的鼓励.接下来的日子我应该会着力写一系列关于Vue与React内部原理 ...

  4. VUE2中provide 和 inject用法,以及怎么做响应式数据?

    1. provide/inject说明 provide 和 inject, 用来实现实现跨组件之间通信. 父子/孙子组件之间任意通信. 在祖先组件中通过provide注入一个依赖,不论组件层次有多深, ...

  5. reactive函数实现响应式数据

    使用reactive函数可以定义对象类型.数组类型的响应式数据. 看个具体的例子. 入口文件main.js import { createApp } from 'vue'; import App fr ...

  6. 从数组的响应式看下一代响应式数据

    随着MVVM框架的广泛使用响应式数据已经变得耳熟能详,现在谈响应式数据好像有点炒冷饭的意思,对!没错!不过这次炒的是蛋炒饭,而且还是加火腿肠的那种.之前看过几个框架的响应式数据实现,貌似都对数组(Ar ...

  7. 【vue3 Api - watchEffect 的讲解 使用】- 侦听响应式数据执行副作用(effect)函数

    在了解 `watchEffect` api之前,需要了解在vue中,副作用函数的定义是什么: 字面意义的讲,副作用函数指的是会产生副作用的函数,例如下面该函数: var num = 10 functi ...

  8. html5响应式前端设计,15个最新的响应式设计前端框架

    你会发现,随着响应式Web设计的不断成熟,各类框架也变得越发健壮和可靠.也许是受到了Bootstrap.Foundation和Gumby的影响,如今很多新的框架都开始向一体化多功能的模式进化,它们提供 ...

  9. vue3之实现响应式数据ref和reactive

    用途 ref.reactive都是vue3提供实现响应式数据的方法 ref() 接受一个内部值,返回一个响应式的.可更改的ref对象,此对象只有一个指向其内部的属性.value ref可以说是简化版的 ...

最新文章

  1. Oracle weblogic线程Thread status分类和总结
  2. 判断一个python字符串中是否包含中文字符
  3. 操作系统的极简教程(二)
  4. 未来,仅凭几个前端工程师,就能 hold 住一家企业吗?
  5. concat与concat_ws区别
  6. 有一种感情,叫“发小”
  7. php安装好wampserver后出现的问题
  8. 思科CEO钱伯斯的动荡一年:往事不堪回首
  9. WinSDK学习--Document/View结构
  10. 选择排序之python实现
  11. i2c电路电平转换电路
  12. 微博视频php解析,微博视频的地址解析下载
  13. 2 电感耦合方式的射频前端
  14. win10系统如何设置win11开机音效的方法
  15. POJ3295 Tautology(栈+思路详解)
  16. 短信验证码被盗刷了怎么办?
  17. 关于宏基暗影骑士擎笔记本如何关闭触摸板的问题记录
  18. android 分享给好友,手机将安卓软件分享给好友的方法
  19. 计算机打印过的文件在哪找到,请问如何在电脑里查找已经打印过的文件
  20. 转:飝兒物語的“Linux创建、删除文件夹”

热门文章

  1. node-red教程6 串口控件的使用
  2. 没有痛苦的博士求学经历不是合格的(彭思龙)
  3. loadrunne-- Analysis 分析器
  4. 鲜为人知的myeclipse配置
  5. Python数据处理之一:数据读取
  6. 情侣间为不吵架而“约法三章”,12条可参考理由!
  7. 樱花庄的宠物女孩AtCoder Grand Contest 015E - Mr.Aoki Incubator
  8. 语音合成TTS(Text-To-Speech,从文本到语音)
  9. 多WAN口宽带路由器到底几个口才算合理(转)
  10. 开局签到满级剑术天赋(三)