Vue3.5正式上线,父传子props用法更丝滑简洁

摘要

Vue3.52024-09-03正式上线,目前在Vue官网显最新版本已经是Vue3.5,其中主要包含了几个小改动,我留意到日常最常用的改动就是props了,肯定是用Vue3的人必用的,所以针对性说一下props两个小改动使我们日常使用更加灵活。

一、带响应式Props解构赋值

简述: 以前我们对Props直接进行解构赋值是会失去响应式的,需要配合使用toRefs或者toRef解构才会有响应式,那么就多了toRefs或者toRef这工序,而最新Vue3.5版本已经不需要了。

这样直接解构,testCount能直接渲染显示,但会失去响应式,当我们修改testCount时页面不更新。

<template><div>{{ testCount }}</div>
</template><script setup>import { defineProps } from 'vue';const props = defineProps({testCount: {type: Number,default: 0,},});const { testCount } = props;
</script>

保留响应式的老写法,使用toRefs或者toRef解构

<template><div>{{ testCount }}</div>
</template><script setup>import { defineProps, toRef, toRefs } from 'vue';const props = defineProps({testCount: {type: Number,default: 0,},});const { testCount } = toRefs(props);// 或者const testCount = toRef(props, 'testCount');
</script>

最新Vue3.5写法,不借助”外力“直接解构,依然保持响应式

<template><div>{{ testCount }}</div>
</template><script setup>import { defineProps } from 'vue';const { testCount } = defineProps({testCount: {type: Number,},});</script>

相比以前简洁了真的太多,直接解构使用省去了toRefs或者toRef

二、Props默认值新写法

简述:以前默认值都是用default: ***去设置,现在不用了,现在只需要解构的时候直接设置默认值,不需要额外处理。

如下第12就是旧写法,其它以前Vue2也是这样设置默认值

<template><div>{{ props.testCount }}</div>
</template><script setup>import { defineProps } from 'vue';const props = defineProps({testCount: {type: Number,default: 1},});
</script>

最新优化的写法 如下第9行,解构的时候直接一步到位设置默认值,更接近js语法的写法。

<template><div>{{ testCount }}</div>
</template><script setup>import { defineProps } from 'vue';const { testCount=18 } = defineProps({testCount: {type: Number,},});
</script>

总结

这次更新其实props的本质功能并没有改变,但写法确实变的更加丝滑好用了,props使用非常高频感觉还是有必要跟进这种更简洁的写法。

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

哑光电影人像自拍风景摄影后期Lr调色教程,手机滤镜PS+Lightroom预设下载!

调色教程 哑光电影人像自拍风景摄影后期调色旨在通过 Lightroom 软件为照片营造出一种具有电影质感的哑光效果&#xff0c;同时突出人像与风景的融合之美。 预设信息 调色风格&#xff1a;电影风格预设适合类型&#xff1a;人像&#xff0c;风光&#xff0c;自拍&#xff0c;…

二五、pxe自动装机

pxe自动装机 pxe------------------------------自动安装系统必要的运行环境 无人值守--------------------为系统定制化的安装需要的软件 pxe的优点&#xff1a; 1、规模化&#xff1a;同时装配多台服务器&#xff08;20-30&#xff09; 2、自动化&#xff1a;系统安装和…

Cadence安装

记录一下安装过程&#xff0c;方便以后安装使用Cadence。 去吴川斌的博客下载安装包&#xff0c;吴川斌博客&#xff1a; https://www.mr-wu.cn/cadence-orcad-allegro-resource-downloads/ 下载阿狸狗破戒大师 我这边下载的是版本V3.2.6&#xff0c;同样在吴川斌的博客下载安装…

VScode-Java开发常用插件

中文——界面易读 字体主题——代码可观 头注释——项目信息明了 java开发包——java必备 git协作开发——版本控制

19.UE5道具掉落

2-21 道具掉落&#xff0c;回血、回蓝、升级提升伤害_哔哩哔哩_bilibili 目录 1.道具的创建&#xff0c;道具功能的实现 2.随机掉落 1.道具的创建&#xff0c;道具功能的实现 新建Actor蓝图&#xff0c;并命名为道具总类&#xff0c;添加一个Niagara粒子组件和一个碰撞箱bo…

算法--分解数字

#分解5位整数 12345# 定义一个函数x&#xff0c;用于将一个整数n转换为一个列表&#xff0c;列表中的元素是n的每一位数字 def x(n):# 如果n小于10&#xff0c;说明n是一个一位数&#xff0c;直接创建一个包含n的列表并返回if n < 10:list1 [] # 创建一个空列表list1.appe…

protobuf序列化

Protocol Buffers (protobuf) 是一种由 Google 开发的轻便、高效的结构化数据序列化格式&#xff0c;常用于数据存储或在应用程序之间传输数据。它可以将数据结构&#xff08;如对象、消息&#xff09;转换为字节流&#xff0c;以便在网络上进行传输或存储。 Protobuf序列化基…

M-LAG 技术笔记

M-LAG 简介 M-LAG&#xff08;Multichassis link aggregation&#xff0c;跨设备链路聚合&#xff09;将两台物理设备在聚合层面虚拟成一台设备来实现跨设备链路聚合&#xff0c;从而提供设备级冗余保护和流量负载分担。 M-LAG 基础概念 如 图1-1 所示&#xff0c;Device A …

【政策】正文关键词提取总结

附&#xff1a;样本构建流程&#xff1a; 候选样本圈选&#xff0c;这一步的目的是选出潜在的高质量样本&#xff0c;找到一部分高难度样本&#xff0c;并过滤掉可能的意图不明或无意义数据。样本圈选的方法见下文。 对圈选出的样本随机抽样一小部分进行人工标注。 利用少量的…

Vue3 虚拟列表组件库 virtual-list-vue3 的使用

Vue3 虚拟列表组件库 virtual-list-vue3 的基本使用 分享个人写的一个基于 Vue3 的虚拟列表组件库&#xff0c;欢迎各位来进行使用与给予一些更好的建议&#x1f60a; 概述&#xff1a;该组件组件库用于提供虚拟化列表能力的组件&#xff0c;用于解决展示大量数据渲染时首屏渲…

特征缩放的学习

两边同时除以最大范围&#xff0c;除了除以最大值以外&#xff0c;你还可以执行所谓的均值归一化。这看起来是&#xff0c;你从原始特征开始&#xff0c;然后你重新缩放他们&#xff0c;使两者其中以零为中心。以前它们只有大于零的值&#xff0c;现在他们既有负值又有正值这通…

【大模型实战篇】vLLM的由来以及大模型部署、推理加速实践

1. 问题背景分析及vLLM的由来 大模型毫无疑问&#xff0c;在工作、生活中已经逐渐扮演越来越重要的角色。但大模型的尺寸一般都比较大&#xff0c;处理一个大模型请求的成本可能比传统关键字查询高出 10 倍。推理的成本代价较高&#xff0c;因此提高大模型服务系统的吞吐量&…

[JAVAEE] 网络编程

目录 一. 什么是socket套接字 二. socket套接字 2.1 socket套接字根据传输层协议分类 2.2 TCP流套接字 UDP数据报套接字主要特点 三. UDP数据报套接字编程 3.1 DatagramSocket 是UDP socket, 用于发送和接受数据报 3.2 DatagramPacket 是UDP socket 发送和接收的数据报 …

SDF,一个从1978年运行至今的公共Unix Shell

关于SDF 最近发现了一个很古老的公共Unix Shell服务器&#xff0c;这个项目从1978年运行至今&#xff0c;如果对操作系统&#xff0c;对Unix感兴趣&#xff0c;可以进去玩一玩体验一下 SDF Public Access UNIX System - Free Shell Account and Shell Access 注册方式 我一…

物联网低功耗广域网LoRa开发(二):LoRa开发环境搭建及驱动移植

一、STM32CubeMX加载固件库 将F0固件库添加进来 二、IAR介绍、安装及快捷操作 &#xff08;一&#xff09;IAR介绍 1、简介 C/C编译器和调试器 集成开发环境(IDE) 实时操作系统和中间件 开发套件 硬件仿真器以及状态机建模工具2、IAR与Keil对比 MDK默认只创建工程&#xf…

RK3568平台开发系列讲解(设备树篇)device_node 转换成 platform_device

🚀返回专栏总目录 文章目录 一、DTB转换规则二、转换源码分析沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将介绍通过设备树 device_node 转换成 platform_device 一、DTB转换规则 device 部分是用 platform_device 结构体来描述硬件资源的, 所以内核最终会…

深入理解 source 和 sh、bash 的区别

1 引言 在日常使用 Linux 的过程中&#xff0c;脚本的执行是不可避免的需求之一&#xff0c;而 source、sh、bash 等命令则是执行脚本的常用方式。尽管这些命令都能运行脚本&#xff0c;但它们之间的执行方式和效果却有着显著的区别。这些区别可能会影响到脚本的环境变量、工作…

基于Java Springboot鲜花商城系统

一、作品包含 源码数据库设计文档PPT全套环境和工具资源部署教程 二、项目技术 前端技术&#xff1a;Html、Css、Js、Vue 数据库&#xff1a;MySQL 后端技术&#xff1a;Java、Spring Boot、MyBatis 三、运行环境 开发工具&#xff1a;IDEA 数据库&#xff1a;MySQL8.0 …

413: Quick Sort

解法&#xff1a; #include <bits/stdc.h> using namespace std; const int N1e55; int a[N]; int n;int main(int argc, char** argv) {cin>>n;for (int i0;i<n;i) cin>>a[i];sort(a,an);for (int i0;i<n;i) cout<<a[i]<<" "…

通过轻易云高效实现ERP数据无缝传输

高效集成领星ERP数据至金蝶云星空 领星ERP数据集成到金蝶云星空&#xff1a;发货结算报告对接销售出库单&#xff08;日本站&#xff09; 在企业的日常运营中&#xff0c;数据的高效流动和准确处理至关重要。本文将分享一个实际运行的系统对接集成案例&#xff1a;如何将领星E…