《Vue进阶教程》第十课:其它函数

news/2024/12/15 16:33:00/

 往期内容:

《Vue零基础入门教程》合集(完结)

《Vue进阶教程》第一课:什么是组合式API

《Vue进阶教程》第二课:为什么提出组合式API

《Vue进阶教程》第三课:Vue响应式原理

《Vue进阶教程》第四课:reactive()函数详解

《Vue进阶教程》第五课:ref()函数详解(重点)

《Vue进阶教程》第六课:computed()函数详解(上)

《Vue进阶教程》第七课:computed()函数详解(下)

《Vue进阶教程》第八课:watch()函数的基本使用

《Vue进阶教程》第九课:watch()函数的高级使用

1) readonly()函数

readonly()

  1. 参数: 普通对象/reactive对象/ref对象
  2. 作用: 创建只读的响应式对象
  3. 返回: proxy对象

示例

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title><script src="../node_modules/vue/dist/vue.global.js"></script></head><body><script>const { reactive, ref, readonly } = Vueconst count = ref(0)const stu = reactive({ name: 'xiaoming', age: 20 })const r_obj = readonly({ msg: 'hello' })const r_count = readonly(count)const r_stu = readonly(stu)</script></body>
</html>

应用场景

父组件向子组件传对象时, 为了保证单向数据流(子组件不能修改父组件中的数据). 可以考虑在父组件中传递只读对象给子组件

2) shallow系列函数

创建浅层的代理, 即第一层具有响应性. 更深层不具有响应性

shallowReactive()

javascript">const sh_stu = shallowReactive({name: 'xiaoming',age: 20,gf: { // 替换gf对象触发响应性name: 'xiaomei', // 不具有响应性city: {name: 'wuhan' // 不具有响应性}}
})

shallowRef()

javascript">const state = shallowRef({ count: 1 })// 不会触发更改
state.value.count = 2// 会触发更改
state.value = { count: 2 }

shallowReadonly()

3) 工具函数

函数名

参数

作用

返回值

说明

isRef

(数据)

判断传入的参数是否为Ref类型

true: 是Ref类型

false: 不是Ref类型

根据__v_isRef标识判断

  • computed的返回值是Ref类型
  • toRef的返回值是Ref类型

isReactive

(数据)

判断传入的参数是否由

reactive()或者shallowReactive()创建

true: 是

false: 否

isProxy

(数据)

判断传入的参数是否由

reactive()或者shallowReactive()

readonly()或者shallowReadonly()

创建

true: 是

false: 否

toRef

(对象, '属性', 默认值?)

将reactive对象的某个属性转换为

ref类型对象

ObjectRefImpl对象

属性是字符串

默认值可选

toRefs

(对象)

将reactive对象转换成普通对象

但是每个属性值都是ref

普通对象

传入参数必须是

reactive类型


http://www.ppmy.cn/news/1555342.html

相关文章

opencv-python的简单练习

题目1.读取一张彩色图像并将其转换为灰度图。 import cv2 # 读取图片文件 img cv2.imread(./1.png)# 将原图灰度化 img_gray cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)# 输出图片 cv2.imshow(img,img) cv2.imshow(img_g,img_gray) # 进行阻塞 cv2.waitKey(0) 题目2&#xff1a;…

【Axure视频教程】中继器表格——打开指定页面

今天教大家在Axure制作中继器表格--打开指定页面的原型模板&#xff0c;鼠标点击表格里员工所在行的查看简历按钮&#xff0c;就可以跳转至该员工对应的简历页面。这个原型模板是用中继器制作的&#xff0c;所以使用也很简单&#xff0c;只需要在中继器表格里填写对应内容&…

Android 异形屏设备设置沉浸式界面

Android 异形屏设备设置沉浸式界面 问题 由于业务需要&#xff0c;应用需要配置沉浸式界面&#xff0c;但设置全屏时&#xff0c;会遇到异形屏采用传统的全屏设置模式无效问题。 解决方案 Android P版本提供参数layoutInDisplayCutoutMode供实现沉浸式设置。layoutInDispl…

c语言数据结构与算法--简单实现线性表(顺序表+链表)的插入与删除

老规矩&#xff0c;点赞评论收藏关注&#xff01;&#xff01;&#xff01; 目录 线性表 其特点是&#xff1a; 算法实现&#xff1a; 运行结果展示 链表 插入元素&#xff1a; 删除元素&#xff1a; 算法实现 运行结果 线性表是由n个数据元素组成的有限序列&#xff0c;每个元…

双重AEB:将基于规则的方法与多模态大型语言模型相结合,以实现有效的紧急制动(202410)

Dual-AEB: Synergizing Rule-Based and Multimodal Large Language Models for Effective Emergency Braking 双重AEB&#xff1a;将基于规则的方法与多模态大型语言模型相结合&#xff0c;以实现有效的紧急制动 Abstract Automatic Emergency Braking (AEB) systems are a c…

PyTorch 梯度计算详解:以 detach 示例为例

PyTorch 梯度计算详解&#xff1a;以 detach 示例为例 在深度学习中&#xff0c;梯度计算是训练模型的核心步骤&#xff0c;而 PyTorch 通过自动微分&#xff08;autograd&#xff09;模块实现了高效的梯度求解。本文将通过一个实际代码示例&#xff0c;详细讲解 PyTorch 的梯…

测试脚本并发多进程:pytest-xdist用法

参考&#xff1a;https://www.cnblogs.com/poloyy/p/12694861.html pytest-xdist详解&#xff1a; https://www.cnblogs.com/poloyy/p/14708825.html 总 https://www.cnblogs.com/poloyy/category/1690628.html

`BertModel` 和 `BertForMaskedLM

是的&#xff0c;BertModel 和 BertForMaskedLM 是两个不同的类&#xff0c;它们的功能和应用场景有所区别。以下是两者的详细对比&#xff1a; 1. BertModel 功能 BertModel 是基础的 BERT 模型&#xff0c;输出的是编码器的隐层表示&#xff08;hidden states&#xff09;&…