位置: IT常识 - 正文

vue3 响应式对象的 api 详解(vue3响应式对象数组)

编辑:rootadmin
vue3 响应式对象的 api 详解

推荐整理分享vue3 响应式对象的 api 详解(vue3响应式对象数组),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue3响应式对象详解,vue3响应式对象转为非响应式,vue3.0响应式原理,vue3响应式对象详解,vue3 响应式对象比较,vue3响应式对象数组,vue3响应式对象转为非响应式,vue3 响应式对象比较,内容如对您有帮助,希望把文章链接给更多的朋友!

文章目录Ⅰ. ref、reactive ( 递归监听 )Ⅱ. isRef、isReactive ( 判断 )Ⅲ. toRef 和 toRefs ( 解构 )Ⅳ. toRaw 、 markRaw ( 解除代理)Ⅴ. unref ( 拷贝 )Ⅵ. shallowRef 、shallowReactive( 非递归监听 )Ⅶ. triggerRef (强制更新)Ⅰ. ref、reactive ( 递归监听 )import {ref,reactive} from 'vue';setup() { const num = ref(123); num.value = 456; const obj = reactive({num:123}); obj.value = 456;}ref 对象 在 html 模板中会 自动添加 value ( ref 对象中__v_isRef:true 进行判断的 )ref 对象 => reactive( { value:0 } ) 底层自动转换为 reactive最终 基本数据 类型采用 => (Object.defineProperty) ,引用数据 类型采用 => ( proxy 代理 )Ⅱ. isRef、isReactive ( 判断 )import {isRef,isReactive} from 'vue';setup() {const num = ref(123) console.log(isRef(num)) // => true}用于判断是否是 Ref 和 Reactive 创建的响应对象使用场景较少Ⅲ. toRef 和 toRefs ( 解构 )

toRef (一个属性)

import { toRef , reactive } from 'vue';setup() {const obj = reactive({ width:10, height:20 }) const width = toRef(obj,'width')return {width}}将一个响应对象的属性,当作 响应对象 单独拿出来 。vue3 响应式对象的 api 详解(vue3响应式对象数组)

toRefs ( 所有 )

import { toRefs , reactive } from 'vue';setup() {const obj = reactive({ width:10, height:20 }) const { width, height }= toRefs(obj)return {width, height}}将多个或所有属性,拿出来 且还是响应对象,一般在返回的时候一次性全部导出 👇import { toRefs , reactive } from 'vue';setup() {const obj = reactive({ width:10, height:20 })return {...toRefs(obj)}}Ⅳ. toRaw 、 markRaw ( 解除代理)

toRaw ( 不影响本身 )

import {toRaw} from 'vue';setup(){ const num1 = ref(123) const num2 = toRaw(num1) console.log(num2 === 123) //=>true}不影响原数据 ,相当于拷贝当前的值拷贝的值,不在是响应式对象

markRaw ( 添加 非响应对象 属性 )

import { markRaw, reactive } from "vue";setup(){const obj = reactive({ num:1 }); //让数据无法被追踪 obj.noUpdate = markRaw({num:1});function add() { obj.num++; // 页面数据 会更新 obj.noUpdate.num++; //页面数据 不会更新}return { obj , add }}通过 markRaw 添加的值 => 其中的属性变化,页面不会监听的到用于添加搞定的参数,不会发生不会的 ( 从而节约资源 )Ⅴ. unref ( 拷贝 )const aaa = ref('abc');const bbb = unref(aaa); 相当于 bbb = isRef(aaa) ? aaa.value : aaa 的语法糖可以用于拷贝Ⅵ. shallowRef 、shallowReactive( 非递归监听 )

shallowRef 、shallowReactive(非递归监听)

import {shallowRef,shallowReactive} from 'vue';setup(){const obj1 = shallowRef({a:1,b:{c:2})const obj2 = shallowReactive({a:1,b:{c:2})obj1.value.a = 2 //页面未更新obj2.b.c = 3 //页面未更新}obj1 (shallowRef)=> 只监听第一层( value 的值,不监听a、b、c、d 的值)obj2 (shallowReactive)=> 只监听第一层( a、b 的值,不监听 c 的值)Ⅶ. triggerRef (强制更新)import {triggerRef, shallowRef} from 'vue';setup(){const obj1 = shallowRef({a:1,b:{c:2}) obj1.value.a = 2 //页面没有发生更新,因为只监听value第一层triggerRef(obj1); // 强制更新非递归监听,只监听首层 ,消耗的资源小;配合 triggerRef 强制更新 => 性能要大于 > 直接使用 (ref 和 reactive)

🚐 💨 华为社招直通车 👉 👉 华为od面试流程 🚀🚀🚀 总结不易,希望uu们不要吝啬你们的👍哟(^U^)ノ~YO!!如有问题,欢迎评论区批评指正😁

本文链接地址:https://www.jiuchutong.com/zhishi/300301.html 转载请保留说明!

上一篇:js调用gpt3.5(支持流回显、高频功能)(js调用函数的几种方法)

下一篇:【小程序项目开发-- 京东商城】uni-app之商品列表页面 (下)(小程序项目开发流程)

  • 增值税发票综合服务平台密码
  • 企业税申报的三种方式
  • 已申报税额是什么意思可以退吗
  • 专项工程支出计入什么科目
  • 费用性税金计入什么科目
  • 文化创意服务的税率
  • 合理合法的纳税人是谁
  • 同一张记账凭证可以出现多笔分录吗
  • 冲减管理费用是红字还是在贷方
  • 发票失控怎么处罚
  • 退回剩余的工程物资
  • 分公司单独做账吗
  • 不动产租赁异地预缴需要携带什么
  • 现金出资可以吗
  • 税率与征收率有关系吗
  • 出口不退税怎么做账
  • 2018年建筑增值税税率表
  • 购货折让
  • 酒店挂账要做收款凭证吗
  • 金蝶增加银行存款账户,期间不对
  • 稿酬所得的个税计算
  • 工会委员会开票信息
  • 代开专票时城建税一起扣了季报怎么报税
  • 其他应收款社保个人部分分录
  • 企业发工资扣缴个人承担部分如何做账?
  • 成品油零售加油站增值税规定
  • 是否亏损看什么
  • 微软 Windows x64 仿真正式推出,只支持 Win11 ARM
  • 文件夹字体怎么变大
  • un system
  • yolov3与yolov2
  • PHP:diskfreespace()的用法_Filesystem函数
  • 找潜水员
  • php批量上传图片到服务器
  • 如何修改wordpress主题
  • 红字发票抵扣联要装订到凭证里吗
  • 利息发票可以抵扣吗
  • 固定资产的入账标准
  • 实缴的钱注销后可以拿回来吗
  • 抵押房产的保险费
  • 主营业务收入和销售费用的区别
  • 专票作废扣税吗
  • 外贸企业主要做什么
  • 税控盘抵减增值税
  • 软件销售收入确认时点
  • 个人独资企业增值税免征额
  • sql查看所有数据表
  • 交易性金融资产公允价值变动怎么算
  • 外地预缴个人所得税凭证怎么弄
  • 收到采购材料发票款未付会计分录
  • 更衣柜属于什么费用
  • 住宿费发票可以报销吗
  • 商家说垫付运费
  • 投资性房地产出租的会计处理
  • 上个月结转的流量下个月能用吗
  • 银企对账如何操作
  • 建立明细账科目怎么排顺序
  • 日记账的设置
  • sql中where语句的写法
  • mac设置多个桌面
  • Win10应用商店下载错误
  • xp系统内存不足怎么办
  • mac 命令大全
  • linux系统中的用户分为哪几类
  • win7下安装XP
  • 苹果电脑旋转屏幕设置在哪里找
  • xp系统咋样
  • centos7.6桌面版安装教程
  • pm是什么软件的缩写
  • win10系统无法开机
  • linux修复工具
  • windows识别码
  • 什么是四个菜
  • node.js请求HTTPS报错:UNABLE_TO_VERIFY_LEAF_SIGNATURE的解决方法
  • unity3d,C#使用sqlite作为数据库解决方案思路
  • android开源库
  • 用python定义一个函数
  • 北京市国家税务局发票查询平台
  • 自治区地方税务局于立民简介
  • 辽宁地方税务网站官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设