Vue 3.3 “浪客剑心”发布
Vue 3.3 已正式发布,代号 "Rurouni Kenshin"(浪客剑心)。
公告写道,此版本专注于改进开发者使用体验 —— 特别是 SFC<script setup>
与 TypeScript 的结合使用。一同发布的还有 Vue Language Tools 1.6(旧 Volar),解决了 Vue 与 TypeScript 一起使用时许多长期存在的痛点。
升级到 3.3 时,建议同时更新以下依赖项:
- volar / vue-tsc@^1.6.4
- vite@^4.3.5
- @vitejs/plugin-vue@^4.2.0
- vue-loader@^17.1.0 (if using webpack or vue-cli)
改进开发者使用<script setup>
+ TypeScript 的体验
- 面向宏支持类型导入和复杂类型
<script setup lang="ts"> import type { Props } from './foo' // imported + intersection type defineProps<Props & { extraProp?: string }>() </script>
- 引入泛型组件
<script setup lang="ts" generic="T"> defineProps<{ items: T[] selected: T }>() </script>
<script setup lang="ts" generic="T extends string | number, U extends Item"> import type { Item } from './types' defineProps<{ id: T list: U[] }>() </script>
- 改进
defineEmits
// BEFORE const emit = defineEmits<{ (e: 'foo', id: number): void (e: 'bar', name: string, ...rest: any[]): void }>()
// AFTER const emit = defineEmits<{ foo: [id: number] bar: [name: string, ...rest: any[]] }>()
- 使用
defineSlots
设置 slots 类型
<script setup lang="ts"> defineSlots<{ default?: (props: { msg: string }) => any item?: (props: { id: number }) => any }>() </script>
实验性功能
- 解构 Reactive Props
<script setup> import { watchEffect } from 'vue' const { msg = 'hello' } = defineProps(['msg']) watchEffect(() => { // accessing `msg` in watchers and computed getters // tracks it as a dependency, just like accessing `props.msg` console.log(`msg is: ${msg}`) }) </script> <template>{{ msg }}</template>
defineModel
<!-- BEFORE --> <script setup> const props = defineProps(['modelValue']) const emit = defineEmits(['update:modelValue']) console.log(props.modelValue) function onInput(e) { emit('update:modelValue', e.target.value) } </script> <template> <input :value="modelValue" @input="onInput" /> </template>
<!-- AFTER --> <script setup> const modelValue = defineModel() console.log(modelValue.value) </script> <template> <input v-model="modelValue" /> </template>

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
万能的YOLO模型人形检测和人脸识别适配方法(以全志V853开发板为例示范)
1.示例程序目录 将资源包下载完成解压后,把示例程序100ASK_viplite-driver放在Ubuntu中的任意目录中。假设我放在/home/book/workspaces目录下,下面为人形识别和人脸识别应用程序的目录结构。 book@100ask:~/workspaces/100ASK_viplite-driver$ tree . ├── 100ASK_Algo │ ├── det_demo │ │ ├── 100ASK_det_demo │ │ ├── aw_errors.c │ │ ├── aw_errors.h │ │ ├── body_384x216.yuv │ │ ├── body_640x360.yuv │ │ ├── demo.cc │ │ ├── face_480x270.nv12 │ │ ├── list.c │ │ ├── list.h │ │ ├── Makefile │ │ ├── Readme.txt │ │ └── testcase.txt │ ├── fdet │ │ └── 100ASK_Facedet_48...
- 下一篇
🎉国产开源的 Servlet 容器:smart-servlet v0.3 发布
1、smart-servlet 简介 smart-servlet是目前 Gitee、Github 平台上首款,也是唯一款全栈核心技术自研的国产开源的Servlet容器项目。 产品特色 国产血统:核心技术 100% 全栈自研。 性能优越:搭载最新版通信微内核 smart-socket。 安全可靠:严格遵循协议规范;支持加密传输方式。 简洁易用:支持 War 包、springboot、maven-plugin等多种运行模式,使用体验100%兼容 Tomcat。 模块介绍 模块 说明 代码量 servlet-core 实现了Servlet规范的核心模块 17000+ smart-servlet-maven-plugin 类似 tomcat-maven-plugin 的 maven 插件 100+ spring-boot-stater 适配 springboot 的启动器,类似:spring-boot-starter-tomcat 100+ 2、 版本更新 本次更新内容: 实现HttpSessionAttributeListener规范 实现ServletRequestAttributeLis...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2全家桶,快速入门学习开发网站教程