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

server/2024/12/17 1:07:20/

 往期内容:

《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/server/150764.html

相关文章

架构13-持久化存储

零、文章目录 架构13-持久化存储 1、Kubernetes 存储设计 &#xff08;1&#xff09;存储设计考量 **设计哲学&#xff1a;**Kubernetes 遵循用户通过资源和声明式 API 描述意图&#xff0c;Kubernetes 根据意图完成具体操作。**复杂性&#xff1a;**描述用户的存储意图本身…

【MySQL】深度学习数据库开发技术:使用C/C++语言访问数据库

前言&#xff1a;本节内容介绍使用C/C访问数据库&#xff0c; 包括对数据库的增删查改操作。 主要是学习一些接口的调用&#xff0c; 废话不多说&#xff0c; 开始我们的学习吧&#xff01; ps:本节内容比较容易&#xff0c; 友友们放心观看哦&#xff01; 目录 准备mysql库 …

docsify

macos ➜ ~ node -v v16.20.2➜ ~ npm --version 8.19.4全局安装 docsify-cli 工具 npm i docsify-cli -g➜ ~ docsify -vdocsify-cli version:4.4.4初始化项目 docsify init ./docsls -ah docs . .. .nojekyll README.md index.htmlindex.html 入口文件README.md 会…

【Stream流】

1.体验Stream流【理解】 案例需求 按照下面的要求完成集合的创建和遍历 创建一个集合&#xff0c;存储多个字符串元素把集合中所有以"张"开头的元素存储到一个新的集合把"张"开头的集合中的长度为3的元素存储到一个新的集合遍历上一步得到的集合 原始方式…

大模型呼入机器人的缺点是什么?(转)

大模型呼入机器人的缺点是什么&#xff1f;(转) 原作者&#xff1a;开源呼叫中心FreeIPCC&#xff0c;其Github&#xff1a;https://github.com/FreeIPCC/FreeIPCC 大模型呼入机器人在提供高效、自动化服务的同时&#xff0c;也存在一些缺点。以下是对其缺点的详细归纳&#…

科技赋能电影,互动电影开启电影新格局

近年来&#xff0c;科技赋能电影&#xff0c;让电影越来越精彩&#xff0c;也越来越多元。层出不穷的新技术新类型&#xff0c;不断丰富着电影视听语言的表现形式&#xff0c;也为观众带来更多具有交互性和个性化的观影体验。进昂互动科技在推出全球首部院线互动电影《夜班》之…

详解Rust宏编程

文章目录 宏分类使用场景常用宏优缺点 Rust是一门注重性能、可靠性和并发的系统编程语言。它在设计上力求安全&#xff0c;尤其是在内存管理和并发方面避免常见的错误(如空指针、内存泄漏和数据竞争)。在Rust中宏是一个非常强大且灵活的工具&#xff0c;它不仅限于代码生成&…

组件缓存keep-alive

希望点击面经详情回来之后该1面经详情停留在滚动条停止的位置 有些 组件是不需要缓存的&#xff0c;例如详情页不需要缓存。解决方法是keep-alive的三个属性 include:组件名数组&#xff0c;只有匹配的组件会被缓存exclude:组件名数组&#xff0c;任何匹配的组件都不会被缓存ma…