当前位置:   article > 正文

(Vue3+TS+Volar) 全局组件配置类型声明的最佳实践_ts 如何声明全局组件类型

ts 如何声明全局组件类型

实践方案

  • 问题原因:Vue3并没有对自定义全局组件做TS类型支持处理,而是把这个功能转交Volar实现
  • 实现原理:利用TypeScript模块扩充技术,对全局组件的类型进行扩充,从而实现对新注册全局组件的类型保护
  • 实现步骤:①声明一个的*d.ts类型文件 ②对类型接口进行类型模块扩充并导出

参考Volar文档 定义全局组件:使用GlobalComponents类型接口声明类型

  1. // components.d.ts
  2. import Button from './Button/index.vue';
  3. declare module '@vue/runtime-core' {
  4. export interface GlobalComponents {
  5. // 组件名: Button组件数据
  6. DemoButton: typeof Button;
  7. }
  8. }
  9. export {};

简评:Volar官方全局组件的推荐写法,基于Volar,必须安装该插件,GlobalComponents是Volar专门为了解决全局组件类型而新增的类型接口

原文地址:https://juejin.cn/post/7066730414626308103

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/589377
推荐阅读
相关标签
  

闽ICP备14008679号