当前位置: 首页 > news >正文

Vue基础知识:Vue3.3出现的defineOptions,如何使用,解决了什么问题?

1.那么为什么会出现defineOptions?

原因说明:

有<script setup></script>语法糖应用之前,如果要定义 props,emits 可以轻而易举地添加一个与 setup 平级的属性。但是用了<script setup>后,就没法这么干了整个被 setup语法糖套了,setup 属性已经没有了,自然无法添加与其平级的属性。

如果不用setup的话,可以添加许多平级的属性。如图所示

但是用了setup语法糖就无法添加同级属性了,只能用编译器宏,defineExpose、defineEmit......

为了解决这一问题,引入了 defineProps 与 defineEmits 这两个宏。但这只解决了 props 与 emits 这两个属性,。如果我们要定义组件的 name 或其他自定义的属性,还是得回到最原始的用法--再添加一个普通的 <script>标签,这样就会存在两个<script>标签。让人无法接受,如图所示:

所以在 Vue 3.3 中新引入了 defineOptions 宏。顾名思义,主要是用来定义 0ptions APl的选项。可以用defineOptions 定义任意的选项, props,emits,expose,slots 除外(因为这些可以使用 defineXXX 来做到)

2.下面进行案例演示:

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 2. 年龄问题
  • 高效利用iCloud指南
  • Python中的类和对象:如何定义一个类以及如何创建类的实例(对象)
  • 网络安全合规建设
  • Nginx在线安装与启动
  • Stable Diffusion图像的脸部细节控制——采样器全解析
  • 【基于R语言群体遗传学】-13-群体差异量化-Fst
  • 移动应用开发课设——原神小助手文档(2)
  • nvidia driver和cuda版本较低,ubuntu系统更新nvidia驱动的方法(对于小白最快最最保险的方法)
  • 近红外光谱脑功能成像(fNIRS):2.实验设计、指标计算与多重比较
  • pbootCMS 数据库sqlite转mysql数据库
  • VSCode使用Makefile管理工程
  • 人工智能算法工程师(中级)课程1-Opencv视觉处理之基本操作
  • 【多模态】40、ConvLLaVA | 使用 ConvNeXt 为 LLaVA 实现更高分辨率的输入
  • C# 下sendmessage和postmessage的区别详解与示例
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • Android系统模拟器绘制实现概述
  • java取消线程实例
  • JS+CSS实现数字滚动
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • Transformer-XL: Unleashing the Potential of Attention Models
  • vue-loader 源码解析系列之 selector
  • 初识 beanstalkd
  • 初探 Vue 生命周期和钩子函数
  • 关于字符编码你应该知道的事情
  • 记录:CentOS7.2配置LNMP环境记录
  • 前端代码风格自动化系列(二)之Commitlint
  • 使用 5W1H 写出高可读的 Git Commit Message
  • 数据可视化之 Sankey 桑基图的实现
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 一些关于Rust在2019年的思考
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 原生 js 实现移动端 Touch 滑动反弹
  • 栈实现走出迷宫(C++)
  • 白色的风信子
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • #define与typedef区别
  • #etcd#安装时出错
  • (2022 CVPR) Unbiased Teacher v2
  • (39)STM32——FLASH闪存
  • (HAL库版)freeRTOS移植STMF103
  • (vue)el-tabs选中最后一项后更新数据后无法展开
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (七)Activiti-modeler中文支持
  • (七)Knockout 创建自定义绑定
  • (译)计算距离、方位和更多经纬度之间的点
  • (转)Oracle 9i 数据库设计指引全集(1)
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • .NET Core 发展历程和版本迭代
  • .Net IE10 _doPostBack 未定义