Vue3 中的计算属性和监听属性

1. 计算属性computed

   作用:根据已有数据计算出新数据(和Vue2中的computed作用一致)

<template><div class="person"><input type="text" v-model="person.firstName"/><br><input type="text" v-model="person.lastName"/><br><span>全名:{{ person.fullName }}</span><input type="text" v-model="person.fullName"/></div>
</template><script>
import { reactive,computed } from 'vue'export default {name: 'Computed',setup() {let person = reactive({firstName: '李',lastName: '四',})//简写形式(只能读)person.fullName = computed(() => {return person.firstName + '-' + person.lastName})//完整形式(可读可改)person.fullName = computed({get() {return person.firstName + '-' + person.lastName},set(value){let names = value.split('-')person.firstName = names[0]person.lastName = names[1]},})return {person,}}}
</script>

2. 监听属性 watch

<template><div>{{ sum }}</div><button @click="sum++">点我+1</button><hr><div>{{ msg }}</div><button @click="msg += '!'">点我修改信息</button><hr><h3>姓名:{{ person.name }}</h3><h3>年龄:{{ person.age }}</h3><h3>薪资:{{ person.job.j1.salary }}K</h3><button @click="person.name += '!'">点我修改姓名</button><button @click="person.age++">点我修改年龄</button><button @click="person.job.j1.salary += 10">点我修改薪资</button>
</template><script>
import { reactive, ref, watch, watchEffect } from 'vue'export default {name: 'Watch',setup() {let sum = ref(0)let msg = ref('hello')let person = reactive({name: '张三',age: 18,job: {j1: {salary: 20}}})// .....下文在这边补充return {sum,msg,person} }}
</script>

【情况一】监听ref定义的一个响应式数据

监听sum的值的变化 

           watch(sum, (newVal, oldVal) =>{console.log('sum的值发生了变化', newVal, oldVal);}, {immediate: true})  // {immediate: true, deep: true}

【情况二】 监听ref定义的多个响应式数据

监听sum, msg的值的变化

           watch([sum, msg], (newVal, oldVal) => { // 包装成数组的形式console.log('sum或msg的值发生了变化', newVal, oldVal);},{immediate: true})

【情况三】监听reactive定义的一个响应式数据的全部属性

注意:此处无法正确的获取oldValue

             watch(person, (newVal, oldVal) =>{console.log('person的值发生了变化', newVal, oldVal)}) // {deep: false} 加上这个,就监测不到薪资改变了 

【情况四】监听reactive定义的一个响应式数据中的某个属性

            watch(() => person.name, (newVal, oldVal) =>{console.log('person的name属性发生了变化', newVal, oldVal)})

【情况五】监听reactive定义的一个响应式数据中的某些属性

            watch([() => person.name, () => person.age], (newVal, oldVal) =>{console.log('person的name或age属性发生了变化', newVal, oldVal)})

【情况六】特殊情况 

             watch(() => person.job, (newVal, oldVal) =>{console.log('person的job属性发生了变化', newVal, oldVal)}, {deep: true}) 

3. watchEffect

    用谁就监视谁

            watchEffect(() =>{ // 用谁就监视谁const x1 = sum.valueconst x2 = person.job.j1.salaryconsole.log('watchEffect所指定的回调函数执行了')})

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/500272.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vim里搜索关键字

vim是linux文本编辑器的命令&#xff0c;再vi的基础上做了功能增强 使用方法如下 1. / 关键字, 回车即可, 按n键查找关键字下一个位置 2.? 关键字, 回车即可, 按n键查找关键字下一个位置 3.示例

[JAVA]MyLogger

import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.logging.*;/*** 可以自已定义日志打印格式&#xff0c;这样看起来比较方便些**/ class MyFormatter extends Formatter {Overridepublic String format(LogRecord ar…

HuatuoGPT-o1:基于40K可验证医学问题的两阶段复杂推理增强框架,通过验证器引导和强化学习提升医学模型的推理能力

HuatuoGPT-o1&#xff1a;基于40K可验证医学问题的两阶段复杂推理增强框架&#xff0c;通过验证器引导和强化学习提升医学模型的推理能力 论文大纲理解1. 确认目标2. 分析过程3. 实现步骤4. 效果展示 解法拆解全流程提问俩阶段详细分析 论文&#xff1a;HuatuoGPT-o1, Towards …

springboot中,怎么把对象的空属性转为json的时候过滤掉

全局配置 ObjectMapper java Bean Data Component NoArgsConstructor AllArgsConstructor ConfigurationProperties(prefix "person") public class Person {private String userName;private Boolean boss;private Date birth;private Integer age;private Pet p…

基于TCP的Qt网络通信

基于TCP的Qt网络通信 项目源码&#xff1a;https://github.com/say-Hai/TcpSocketLearn/tree/QTcpSocket 在标准C没有提供专门用于套接字通信的类&#xff0c;所以只能使用操作系统提供的基于C的API函数&#xff0c;但是Qt就不一样了&#xff0c;它是C的一个框架并且里边提供了…

[CCGridW 2023]Performance Modelling of Graph Neural Networks

论文网址&#xff1a;Performance Modelling of Graph Neural Networks | IEEE Conference Publication | IEEE Xplore 英文是纯手打的&#xff01;论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误&#xff0c;若有发现欢迎评论指正&#xf…

git reset --hard(重置到当前提交,所有未提交的更改都会被永久丢弃)

git reset --hard 是一个强大的命令&#xff0c;它会将你的工作目录、暂存区和当前分支的 HEAD 指针重置到指定的提交状态&#xff0c;所有未提交的更改都会被永久丢弃。因此&#xff0c;使用这个命令时需要非常小心。 基本用法 重置到当前提交&#xff08;丢弃所有未提交的更…

springboot 整合 rabbitMQ (延迟队列)

前言&#xff1a; 延迟队列是一个内部有序的数据结构&#xff0c;其主要功能体现在其延时特性上。这种队列存储的元素都设定了特定的处理时间&#xff0c;意味着它们需要在规定的时间点或者延迟之后才能被取出并进行相应的处理。简而言之&#xff0c;延时队列被设计用于存放那…

PLC(01)

一.职业规划 电路----------------->电工------------------>电气-------------------plc---------------------DCS--------------------> 机器人 二.交流电直流电的概念 1.交流电AC alternating current 大小方向随时间发生周期性变化 2.直流电 Direct current…

基本算法——分类

目录 创建项目 导入依赖 加载数据 特征选择 学习算法 对新数据分类 评估与预测误差度量 混淆矩阵 通过模型的预测结果生成 ROC 曲线数据 选择分类算法 完整代码 结论 创建项目 首先创建spring boot项目&#xff0c;我这里用的JDK8&#xff0c;springboot2.7.6&…

2024年中国新能源汽车用车发展怎么样 PaperGPT(二)

用车趋势深入分析 接上文&#xff0c;2024年中国新能源汽车用车发展怎么样 PaperGPT&#xff08;一&#xff09;-CSDN博客本文将继续深入探讨新能源汽车的用车强度、充电行为以及充电设施的现状。 用车强度 月均行驶里程&#xff1a;2024年纯电车辆月均行驶超过1500公里&…

典型常见的基于知识蒸馏的目标检测方法总结三

来源&#xff1a;Google学术2023-2024的顶会顶刊论文 NeurIPS 2022&#xff1a;Towards Efficient 3D Object Detection with Knowledge Distillation 为3D目标检测提出了一种知识蒸馏的Benchmark范式&#xff0c;包含feature的KD&#xff0c;Logit的cls和reg的KD&#xff0c…

2024年中国新能源汽车用车发展怎么样 PaperGPT(一)

概述 在国家政策的强力扶持下&#xff0c;2024年中国新能源汽车市场迎来了新的发展机遇。本文将基于《中国新能源汽车用车报告&#xff08;2024年&#xff09;》的数据&#xff0c;对新能源汽车的市场发展和用车趋势概述。 新能源汽车市场发展 政策推动&#xff1a;国家和地…

Ceph 手动部署(CentOS9)

#Ceph手动部署、CentOS9、squid版本、数字版本19.2.0 #部署服务:块、对象、文件 一、部署前规划 1、兼容性确认 2、资源规划 节点类型节点名称操作系统CPU/内存硬盘网络组件安装集群节点CephAdm01CentOS94U/8GOS:40G,OSD:2*100GIP1:192.169.0.9(管理&集群),IP2:…

CUDA与Microsoft Visual Studio不兼容问题

简介&#xff1a;在安装一些 python库时&#xff0c;涉及到第三方库&#xff08;特别是需要引用 C 代码&#xff09;时&#xff0c;通常的安装方式会涉及到编译过程&#xff0c;通常称为"源代码安装"&#xff08;source installation&#xff09;&#xff0c;或是 “…

网络安全 | 企业网络安全管理

网络安全 | 企业网络安全管理 一、前言二、企业网络安全面临的威胁2.1 网络攻击类型2.2 数据泄露风险2.3 恶意软件感染 三、企业网络安全管理的策略与措施3.1 网络架构安全设计3.2 访问控制机制3.3 数据加密技术3.4 员工安全培训 四、企业网络安全监测与应急响应体系4.1 安全监…

算命占卜网php源码/设计书/2025八字运势怎么通过php测算

引言 随着人们对传统文化的重视&#xff0c;八字算命逐渐成为很多人了解命运的方式。为了满足这一需求&#xff0c;设计一个功能丰富且用户友好的八字算命网站显得尤为重要。本文将详细阐述从构思到实施的设计过程&#xff0c;旨在创建一个既具吸引力又富有实用价值的八字算命…

【高项】信息系统项目管理师(二)项目管理概论

一、PMBOK的发展 项目管理知识体系&#xff08;PMBOK&#xff09;是由美国项目管理协会&#xff08;PMI&#xff09;开发的一套描述项目管理专业范围的知识体系&#xff0c;包含了对项目管理所需的知识、技能和工具的描述。 二、项目基本要素 2.1 项目基础 项目是为提供一项…

【无线传感网】物理层及MAC层

物理层相关概念及技术 在无线传感器网络中&#xff0c;物理层是数据传输的最底层&#xff0c;向下直接与传输介质相连&#xff0c;物理层协议是各种网络设备进行互联时必须遵循的底层协议 物理层的设计是无线传感器网络协议性能的决定因素 物理层的主要功能 为数据终端设备…

【SpringBoot教程】搭建SpringBoot项目之编写pom.xml

&#x1f64b;大家好&#xff01;我是毛毛张! &#x1f308;个人首页&#xff1a; 神马都会亿点点的毛毛张 &#x1f44f;今天毛毛张分享的内容主要是Maven 中 pom 文件&#x1f195;&#xff0c;涵盖基本概念、标签属性、配置等内容 文章目录 1.前言&#x1f96d;2.项目基本…