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

棋类游戏网站开发汤阴县seo快速排名有哪家好

棋类游戏网站开发,汤阴县seo快速排名有哪家好,现在 做网站 最流行,国际新闻大事TypeScript 中 Vue 3 的 defineEmits 函数的类型定义&#xff0c;用于声明组件可以触发的事件。以下是分步解释&#xff1a; 1. 泛型定义 ts <"closeDialog" | "getApplySampleAndItemX"> 作用&#xff1a;定义允许的事件名称集合&#xff0c;即组…

TypeScript 中 Vue 3 的 defineEmits 函数的类型定义,用于声明组件可以触发的事件。以下是分步解释:

1. 泛型定义

ts

<"closeDialog" | "getApplySampleAndItemX">
  • 作用:定义允许的事件名称集合,即组件只能触发 closeDialog 或 getApplySampleAndItemX 两个事件。

  • 说明:这是一个泛型参数,限定事件名必须为这两个字符串字面量类型之一。


2. 函数参数

ts

(emitOptions: ("closeDialog" | "getApplySampleAndItemX")[])
  • 作用:接受一个事件名数组作为参数(如 ['closeDialog'])。

  • 说明emitOptions 是事件名的数组,用于运行时声明组件支持的事件。


3. 返回值函数

ts

(event: "closeDialog" | "getApplySampleAndItemX", ...args: any[]) => void
  • 作用:返回一个 emit 函数,用于触发事件。

    • event:要触发的事件名,必须是泛型定义中的事件。

    • ...args:事件的参数(类型宽松,允许任意参数)。

  • 说明:调用 emit('closeDialog') 或 emit('getApplySampleAndItemX', arg1, arg2) 时,参数类型不会被严格约束(因 args 是 any[])。


4. 重载(+2 overloads)

  • 作用:提供多种类型定义,以适应不同使用场景。

    • 场景一:运行时声明(传入事件名数组,参数宽松)。

      ts

      defineEmits(['closeDialog'])
    • 场景二:类型声明(通过接口定义事件参数类型,类型严格)。

      ts

      defineEmits<{(e: 'closeDialog'): void;(e: 'getApplySampleAndItemX', sample: string, item: number): void;
      }>()
    • 场景三:可能其他配置方式(如混合使用或额外选项)。


总结

  • 用途:在 Vue 组件中定义可触发的事件。

  • 两种用法

    1. 运行时声明:传入字符串数组,参数类型宽松。

    2. 类型声明:通过接口定义事件及参数类型,实现严格类型检查。

  • 代码中的类型:对应运行时声明,允许任意参数(any[]),而重载覆盖了类型声明等场景,提供更灵活的类型支持。

示例

typescript

// 运行时声明(参数宽松)
const emit = defineEmits(['closeDialog', 'getApplySampleAndItemX']);
emit('closeDialog'); // 正确
emit('getApplySampleAndItemX', 123, 'abc'); // 参数类型不检查// 类型声明(参数严格)
const emitStrict = defineEmits<{(e: 'closeDialog'): void;(e: 'getApplySampleAndItemX', sample: string, item: number): void;
}>();
emitStrict('getApplySampleAndItemX', 'sample', 123); // 参数类型匹配
emitStrict('getApplySampleAndItemX', 123, 'sample'); // 错误:参数类型不匹配

通过重载,defineEmits 能同时支持灵活和严格的类型检查,适应不同开发需求。

http://www.dtcms.com/wzjs/74782.html

相关文章:

  • 网站搭建设计 是什么意思7个湖北seo网站推广策略
  • 网站(建设)安全自查报告百度推广怎么样才有效果
  • 优化网站速度的要点北京seo网络优化师
  • 卢湾做网站淘宝数据分析工具
  • 做什么地方网站网站如何推广营销
  • 做网站前期需要准备什么百度关键词搜索引擎排名优化
  • wordpress没了外贸建站优化
  • 山西太原做网站深圳新闻最新事件
  • 遵义湘江投资建设有限责任公司门户网站商品推广软文写作500字
  • 公司做网站的钱网银转账用途aso安卓优化公司
  • 响应式网站开发技术seo公司哪家好用
  • 菠菜网站怎么做推广比较好做网站哪家好
  • 西安好的网站建设公司排名百度地图人工电话
  • 乐平网站设计谷歌google搜索引擎入口
  • wordpress 个人公众号seo综合查询接口
  • 湖南株洲网站建设专业seo优化推广
  • 东莞企业名录大全郑州关键词优化费用
  • 海丰县网站设计黑帽seo是作弊手法
  • 网站设计建设公司服务商百度权重等级
  • 多语言建设外贸网站个人网站怎么做
  • 济南手工网站建设上海网络推广培训机构
  • 丰县网站建设搜索词分析工具
  • 专业做网站建设 昆山竞价托管公司排名
  • 免费建站有哪些网站汕头seo代理商
  • 网站域名必须备案吗aso推广方案
  • 做非洲出口的网站seo网络推广什么意思
  • wordpress 注册不了seo站长网
  • 做网站 信科网络搜索热度查询
  • 相同网站名沈阳市网站
  • 杭州知名的企业网站建设策划怎么做推广和宣传