vue3.5最新发布,这几个新用法还不快来学习一下!

一文超详解锁 Vue 3.5新特性 对于开发者来说Vue3.5版本中还是新增了许多有趣的功能的, 这些功能在一些特殊场景中还是很有用的,总的来说这次的更新都是些小优化,没什么杀手级的特性,所以前端人们不用过于焦虑了吧。 阅读详情

📢vue3.5最新发布,这几个新用法还不快来学习一下!

前言

就在昨天(2024-09-03),vue官方发布了vue.js3.5的稳定版本,在vue的官方英文文档上也已经能看到3.5版本更新的内容,该版本不包含重大更改,包括内部改进和实用的新功能。下文来了解几个比较有意思的改动。

响应式 Props 解构

vue3.5前响应式解构props用法

使用toRef()这个api对props的参数进行响应式解构,如下所示:

<script setup lang="ts">
import { toRef } from 'vue'

const props = defineProps<{
  count: number
}>()

// 响应式解构count属性
const count = toRef(props, 'count')

// 测试count响应式,子组件按钮点击输出解构的count值
const log = () => {
  console.log(count.value)
}
</script>

vue3.5响应式解构props方法

<script setup lang="ts">

// vue3.5可以直接响应式解构
const { count } = defineProps<{
  count: number
}>()

// 测试count响应式,子组件按钮点击输出解构的count值
const log = () => {
  console.log(count)
}
</script>

vue3.5对解构变量(例如count)的访问会被编译器自动编译成props.count,因此访问时会对其进行跟踪。

props默认值写法

vue3.5前props默认值写法

// 使用ts泛型时默认值写法(编译时)
const props = withDefaults(
  defineProps<{
    count: number
  }>(),
  {
    count: 0
  }
)

// 使用js时默认值写法(运行时)
const props = defineProps({
  count: {
    type: Number,
    default: 2
  }
})

vue3.5props默认值写法

// ts写法
const { count = 1 } = defineProps<{
  count: number
}>()

// js写法
const { count = 2 } = defineProps({
  count: String
})

可以直接像在JavaScript语言中对象解构的语法一样赋予默认值,有效降低了用户的心智负担!这点看起来挺不错的!

useTemplateRef()获取模板引用实例

useTemplateRef()

<template>
  <div class="list" ref="listEl">
    <div ref="itemEl" class="item" v-for="item in list" :key="item">
      {{ item }}
    </div>
  </div>
</template>

<script setup lang="ts">
import { useTemplateRef, onMounted } from 'vue'

const list = [1,2,3]

const listRef = useTemplateRef('listEl')
const itemRef = useTemplateRef('itemEl')

onMounted(() => {
  console.log(listRef.value)  // div.list
  console.log(itemRef.value)  // Proxy(Array) {0: div.item, 1: div.item, 2: div.item}
})
</script>

当在模板做绑定的ref具有多个同名的元素时,useTemplateRef()返回的是一个数组,如上通过v-for渲染的div绑定ref="itemEl"的列表。

<Teleport>组件优化

内置<Teleport>组件的一个已知限制是,其目标元素必须在<Teleport>组件挂载时已存在。 在vue3.5中,<Teleport>组件引入了一个在当前渲染周期之后挂载它的defer prop, 如下用法:

  <Teleport defer to="#cont">
    <div v-if="open">
      <span>挂载到id为cont的div上</span>
      <button @click="open = false">关闭</button>
    </div>
  </Teleport>
  <!-- Teleport组件传送内容的容器 -->
  <div id="cont"></div>
  <button @click="open = true">打开</button>

由于<div id="cont"></div>在Teleport后面渲染,需要加defer延迟挂载Teleport组件。如果把<div id="cont"></div>放到Teleport前面渲染,则不需要加defer。

useId()生成应用唯一标识

useId()可用于生成每个应用程序唯一的 ID,这些 ID 可确保在服务器和客户端渲染过程中保持稳定。可用于生成表单元素和可访问性属性的 ID,并可在 SSR 应用程序中使用,而不会导致ID冲突:

<script setup>
import { useId } from 'vue'

const id = useId()
</script>

<template>
  <form>
    <label :for="id">Name:</label>
    <input :id="id" type="text" />
  </form>
</template>

这个貌似可以单纯的当成一个生成唯一id的api来使用。

结语

除了以上提到的外,vue3.5还重构了响应式系统,性能方面得到了提升,据说在处理某些情况下可使性能提高到10倍。

参考引用

想了解更多vue3.5的更新内容,可点击访问该链接 Announcing Vue 3.5,获取更多资讯。

有关更改和新功能的完整列表,请参阅GitHub 上的完整更新日志。

发布vue3组件到npm 当你开发Vue 3应用程序时,有时你可能会需要将自己创建的组件发布到npm上,以便其他开发者可以轻松地在他们的项目中使用这些组件。本文将指导你如何将Vue 3组件发布到npm。 阅读详情

相关推荐

Profinet从站开发初体验:用p-net开源库和树莓派快速搭建一个IO设备模拟器

本文详细介绍了如何使用p-net开源库和树莓派快速搭建Profinet从站IO设备模拟器。从开发环境准备、p-net源码编译到设备模拟器功能实现,提供了全流程实战指南,帮助开发者快速掌握工业通信协议开发技巧,适用于工业自动化领域的设备互联测试与验证。

weixin_30384217的博客 383

Vue3.5正式上线,有哪些新特性和用法?

Vue3.5在2024-09-03正式上线,目前在Vue官网显最新版本已经是Vue3.5,其中主要包含了几个小改动,完整的过往发布记录可以在GitHub查阅。

scorpion_V的博客 4959

HFSS本征模求解:谐振特性分析与工程实践

本征模求解是电磁仿真中的基础技术,用于分析无源谐振系统的固有特性。其核心原理是通过求解麦克斯韦方程组的特征值问题,获得谐振频率、品质因数(Q值)及电磁场分布等关键参数。在5G滤波器设计、雷达谐振腔优化等高频场景中,精确的本征模分析能有效避免模式干扰,提升器件性能。HFSS作为行业标准工具,提供了完整的本征模求解工作流,涵盖边界条件设置、模式识别、场分布可视化等关键环节。针对多模耦合、模式纯度评估等工程难题,结合参数化扫描和场重叠积分等高级技巧,可显著提升微波器件设计效率。

weixin_27918373的博客 328

VUE3.5版本解读

在 Vue 3.5 中,自定义元素(Custom Elements)得到了显著的改进,修复了许多与 defineCustomElement API 相关的长期存在的问题,并添加了许多新功能。这些改进使得使用 Vue 创建自定义元素更加灵活和强大。自定义元素的应用程序配置通过选项支持自定义元素的应用程序配置,在 Vue 3.5 中,你可以通过 configureApp 选项来配置自定义元素的应用程序。这使得你可以在定义自定义元素时进行更细粒度的配置。// 组件选项</div>',// 配置应用程序。

m0_74293254的博客 2654

WRF中使用ERA5再分析数据

   本人在做一些实例时,需要用到最新的ERA5再分析数据集,其中我下载的是ERA5 hourly data on pressure levels form 1979 to present和ERA5 hourly data on single levels from 1979 to present中的3天数据。 1、注册climate copernicus账号 下载ERA5数据前先要注册其账号 2、选择变量    WRF中对于气象数据的字段有具体的要求, ......

GIS 8166

SQL注入:联合查询的三个绕过技巧

在SQL注入中,可以利用科学计数法来绕过对输入的限制。例如,可以使用科学计数法来绕过对字符串长度的限制,通过将字符串拆分成多个部分并使用科学计数法来表示。此外,还可以利用数据库的特定特性或语法来替代原始的查询语句,从而执行联合查询或其他恶意操作。另外,还可以尝试利用无列名注入的技巧,通过在原始查询中使用通配符或其他方式来绕过对列名的限制,从而执行恶意操作。

qq_68163788的博客 3792

这应该是全网最详细的Vue3.5版本解读

这个欧阳也觉得平时大家都用不上,所以就不细讲了。函数、函数、pause和resume方法、watch的deep选项支持传入数字、useId函数、Teleport组件新增defer延迟属性、函数。这些功能在一些特殊场景中还是很有用的,个人看法还是得将Vue升到3.5。前端欧阳引迈 - JNPF快速开发平台_低代码开发平台_零代码开发平台_流程设计器_表单引擎_工作流引擎_软件架构。

kfashfasf的博客 1829

WRF和WPS模型在Ubuntu系统上的安装与常见问题解决指南

本文详细介绍了在Ubuntu系统上安装WRF和WPS模型的完整教程,涵盖系统环境配置、依赖库安装、源代码编译以及常见问题的解决方案。重点解决了WPS编译中intmath.f文件的修改、环境变量设置和编译器兼容性等关键难点,帮助用户高效部署气象研究与预报模型。

weixin_29213525的博客 380

宣布 Vue 3.5 版发布

在 3.5 版本中,Vue 的响应式系统经历了另一轮主要重构,实现了更好的性能和显著改进的内存使用(减少了 56%),没有行为上的变化。这次重构还解决了 SSR 中计算属性悬挂导致的过期计算值和内存问题。

why404 2251

保姆级教程:用OSSH免费版+FreeRADIUS+FreeAC NAC,从零搭建一套企业级无线Portal认证系统

本文提供了一套基于OSSH免费版、FreeRADIUS和FreeAC NAC的企业级无线Portal认证系统搭建教程。从环境规划、核心组件安装到认证策略与用户管理,详细介绍了如何利用开源工具构建高效、安全的认证体系,特别适用于预算有限但需求严格的企业场景。

weixin_27032989的博客 391

51单片机计算器(源程序+流程图+答辩报告+综合设计)

保姆级讲解!C语言编程,使用51单片机及LCD1602显示屏实现!

m0_57007304的博客 2万+

Vue3.0正式发布,本次发布所有总结,一起看看!

2020年09月18日,Vue.js 3.0 正式发布。本次发布框架本身带来了几个大点的改进,以及功能和历程的一些总结! 1.3.0历程 3.0版本代表了2年多的开发工作 具有30多个RFC 2600多个提交 来自99个贡献者 628个拉取请求 大量开发和文档工作 2.Vue的使命 成为任何人都可以快速学习的易于接近的框架 3.性能方面的优化 路由懒加载 keep-alive缓存页面 使用v-show复用DOM v-for 遍历避免同时使用 v-if 长列表性能优化 事件的销毁 图片懒加载 第三.

前端人公众号作者 1万+

AUTOSAR进阶图解==>AUTOSAR_SWS_ADCDriver

本文深入解析了AUTOSAR ADC Driver的架构设计和技术实现。主要内容包括:1)ADC Driver在AUTOSAR分层架构中的定位及核心功能;2)详细的模块架构设计,涵盖初始化管理、组转换管理、优先级处理等核心子组件;3)全面的配置模型说明,包括主配置类、通用配置、通道配置等关键数据结构;4)状态机机制和操作序列分析。通过分层设计和标准化接口,ADC Driver实现了硬件抽象和软件解耦,提供了良好的可移植性和可维护性。

一名留德华的,康德的信徒的,专注于汽车电子领域的博客 786

Vuejs 3 Release:One Piece. Vuejs 3.0 正式版发布!代号:海贼王

Vuejs 3.0 在北京时间2020年9月19日凌晨,终于发布了3.0 版本,代号:One Piece。此次vue3.0为用户提供了全新的 composition-api 以及更小的包大小,和更好的 TypeScript 支持。 Vue 是当前非常流行的框架,Vue3.0更是酝酿了2年多的时间,经过2600多次commit,600多次PR,中间也发布了很多beta版本。 终于在经过尤大神和社区的共同努力下,Vue3.0带着全新的 composition-api 正式发布了。

CosyTime 6941

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

开源啦!一个基于 Vue 3 + Vant 3 的商城项目

之前发布过一篇文章,告诉大家我要开发一个 Vue3 的商城项目并开源到 GitHub 上,供大家练手和学习,随后也一直有收到留言和反馈,问我开发到哪里了,什么时候开源之类的问题,今天终于...

程序员有故事 1万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Vue 3.0 终于正正正正正式发布了!

Vue 团队于 2020 年 9 月 18 日晚 11 点半发布了 Vue 3.0 版本,我们连夜对 Release 进行了翻译。由于时间仓促,文中如有翻译不当的地方还望提出。如有侵权,...

静觅 6453

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

[翻译] Vue 3.5 发布

3.5 修复了许多与通过选项支持自定义元素的应用程序配置。添加useHost()和this.$hostAPI 用于访问自定义元素的宿主元素和影子根。通过传递支持在没有 Shadow DOM 的情况下挂载自定义元素。支持提供nonce选项,该选项将附加到自定义元素注入的标签。这些新的仅自定义元素选项可以通过第二个参数传递给})

知秋 1361

Vuejs 3.0 正式版发布!One Piece. 代号:海贼王

文末有送书福利译者:夜尽天明 (译者授权转载)原文地址:https://mp.weixin.qq.com/s/0oet-MTo__LWNZNYl5FpqwVue 团队于 2020 年 9...

程序员成长指北 860

Vue时间轴组件终极指南:5分钟快速上手timeline-vuejs

在现代Web开发中,Vue时间轴组件已成为展示时间线数据的首选工具,特别是timeline-vuejs以其极简设计和强大功能脱颖而出。本文将带你从零开始,全面掌握这款Vue时间轴组件的使用方法,让你在短时间内构建出专业级的时间轴效果。 ## 为什么选择timeline-vuejs? **🚀 极致轻量**:核心代码体积小,不依赖额外大型库,确保项目性能不受影响。 **🎨 高度可定制**:提

gitblog_00588的博客 960

vue3快速上手学习笔记,还不快来看看?

什么是hook?—— 本质是一个函数,把setup函数中使用的Composition API进行了封装。类似于vue2.x中的mixin。自定义hook的优势: 复用代码, 让setup中的逻辑更清楚易懂。

林夕 656

vue 3.0 正式版_Vuejs 3 Release:One Piece. Vuejs 3.0 正式版发布!代号:海贼王

Vuejs 3.0 在北京时间2020年9月19日凌晨,终于发布了 3.0 版本,代号:One Piece。此次vue3.0 为用户提供了全新的 composition-api 以及更小的包大小,和更好的 TypeScript 支持。Vue3.0发布链接​github.comVue 是当前非常流行的框架,Vue3.0更是酝酿了2年多的时间,经过2600多次commit,600多次PR,中间也发布了...

weixin_39830588的博客 433

Vue 3.4 发布

本文为翻译今天,我们很高兴地宣布 Vue 3.4 “🏀灌篮高手”的发布!此版本包括一些实质性的内部改进 - 最引人注目的是重写的模板解析器,速度提高了 2 倍,以及重构的反应系统,使效果触发更加准确和高效。它还包含许多生活质量 API 改进,包括绑定 prop 时的稳定性和新的同名速记。这篇文章概述了 3.4 中的突出功能。有关更改的完整列表,请参阅 GitHub 上的。

why404 1785

重大更新!Vue 3.0 首个 RC 版本正式发布!这意味着什么...

点击“开发者技术前线”,选择“星标????”在看|星标|留言, 真爱原文:https://bbs.kafan.cn/thread-2186800-1-1.htmlVue.js 作者尤雨...

开发者技术前线-DevolperFront 3626

5分钟打造专业时间轴:timeline-vuejs让你的Vue应用瞬间升级

还在为你的Vue项目寻找一个既美观又实用的时间轴组件吗?timeline-vuejs就是那个能让你在5分钟内为应用添加专业级时间线功能的解决方案。这款轻量级的Vue时间轴组件专为现代Web开发者设计,无论你是要展示项目里程碑、个人成长记录还是历史事件,它都能完美胜任。 ## 从零到一:一个开发者的时间轴故事 让我先分享一个真实的故事。上周,我的同事小李接到了一个紧急任务:为公司的产品更新日志页

gitblog_00836的博客 304

【Vuejs】1210- Vue 3 将成为新的默认版本

原文地址:https://zhuanlan.zhihu.com/p/460055155英文原文:https://blog.vuejs.org/posts/vue-3-as-the-new-...

pingan8787 491
上一篇: 王者荣耀图鉴皮肤怎么来的
下一篇: 视频格式转换
小小荧
博客等级 码龄9年 133粉丝 92原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值