当前位置: 首页 > news >正文

Vue创建浅层响应式数据

shallowReactive:只处理对象第一层数据的响应式(浅响应式)。

shallowRef:只处理基本数据类型的响应式,不处理对象类型的响应式。

shallowReactive 适用于:如果有一个对象类型的数据,结构比较深,但变化时只是外层属性会变化。

shallowRef 适用于:如果有一个对象类型的数据,后续功能不会修改该对象中的属性,而是生成新的对象来替换。

 只考虑第一层数据的响应式 shallowReactive 函数:

<template><h2>姓名:{{ info.name }}</h2><h2>年龄:{{ info.age }}</h2><h2>薪资:{{ info.job.money }}</h2><button @click="info.name += '风'">修改姓名</button><button @click="info.age++">修改年龄</button><button @click="info.job.money++">增加薪资</button>
</template><script>
// 引入 shallowReactive 函数
import { shallowReactive } from 'vue'
export default {name: "Home",setup() {// 只考虑第一层数据的响应式let info = shallowReactive({name: "张三",age: 18,job: {money: 20}})// 返回数据return { info }}
}
</script>

:使用 shallowReactive 创建的数据,只有第一层是响应式的,深层数据修改后,页面不会实时更新。


 

只考虑基本数据类型的响应式 shallowRef 函数 :

<template><h2>数字:{{ sum }}</h2><button @click="sum++">数据+1</button><hr /><h2>姓名:{{ info.name }}</h2><button @click="info = { name: '李四' }">修改姓名</button><hr /><h2>年龄:{{ user.age }}</h2><button @click="user.age++">增加年龄</button>
</template><script>
// 引入 shallowRef 函数
import { shallowRef } from 'vue'
export default {name: "Home",setup() {// 只处理基本数据类型的响应式let sum = shallowRef(10);// 直接替换这个对象时,页面也会更新let info = shallowRef({name: "张三"})// 不处理对象类型的响应式let user = shallowRef({age: 18})// 返回数据return { sum, info, user }}
}
</script>

:使用 shallowRef 创建基础数据类型是响应式的,创建对象数据类型就不是响应式的了。但可以直接替换这个对象,页面也会实时更新。

原创作者:吴小糖

创建时间:2023.11.7

http://www.lryc.cn/news/221579.html

相关文章:

  • 【Python 千题 —— 基础篇】判断列表是否为空
  • 基于Java+SpringBoot+Mybaties-plus+Vue+ElementUI 失物招领小程序 设计与实现
  • 找到【SVM】中最优的惩罚项系数C
  • Go 面向对象,多态
  • Anaconda如何创建一个环境
  • 【gerrit】【技巧】如何获取gerrit库入库统计信息之三——gerrit搜索之时间过滤条件
  • wpf Grid布局详解 `Auto` 和 `*` 是两种常见的设置方式 行或列占多个单元格,有点像excel里的合并单元格。使其余的列平均分配剩余的空间
  • js 高效生成连续递增的小数数组
  • 『昆仑天工』4款AI产品开源!提供API对接!
  • C语言--每日五道选择题--Day2
  • C++——类和对象(初始化列表、匿名对象、static成员、类的隐式类型转换和explicit关键字、内部类)
  • 高德地图撒点组件
  • TCP/IP协议群
  • esxi 6.7下安装黑裙
  • C++初阶-类和对象(下)
  • MD5校验 C语言实现 (附源码)
  • 成功解决/bin/sh: cc: command not found和/bin/sh: g++: command not found
  • 理解ELMo 模型
  • oracle 基础语法总结
  • Visual Studio 2017附加依赖项
  • 获取狮子座明年恋爱运势预测API接口
  • USB HID在系统下通信的一些总结
  • [java进阶]——方法引用改写Lambda表达式
  • lvs dr+keepalived
  • 如何使新手小白编码能力暴涨之Devchat-AI
  • SAP ABAP基础语法-TCODE学习(八)
  • stm32-arm固件开发
  • LeetCode 面试题 16.17. 连续数列
  • 基于人工蜂鸟算法的无人机航迹规划-附代码
  • 51单片机汇编-点亮一个led