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

Vue 文件类型声明

.vue后缀类型声明

我们在 main.ts 文件中引入其他vue文件的时候,是没有类型声明的,也就是说我们知道引入了一个vue文件,但是我们不知道这个文件是准备干嘛的。所以我们需要单独为这个加上一个类型的声明。如果说没有声明也没有报错的话,那可能是因为插件 Vue-Official 已经进行处理了。

通常使用 defineComponent 函数来定义组件,并通过 export default 导出。这样的导出方式有以下几个原因:

  1. 类型推导:Vue 3 中的组件选项对象(Component Options Object)具有动态类型,无法直接进行类型推导。为了让 TypeScript 能够正确地推导组件的类型,需要使用 defineComponent 函数来明确告诉 TypeScript 组件的类型信息。 defineComponent 函数接受一个参数,用于定义组件的选项,包括组件的属性、事件、生命周期钩子等。通过这样的方式,TypeScript 可以根据选项对象的结构来推导组件的类型,并提供正确的类型检查和代码提示。
  2. 清晰明确:使用 defineComponent 函数和 export default 导出组件,可以使代码更加清晰和明确。 defineComponent 函数明确表示我们正在定义一个 Vue 组件,并且通过 export default 导出组件,使得其他模块可以轻松地引入和使用这个组件。
  3. 组件选项合并:Vue 3 的组件选项合并需要使用 defineComponent 函数。在 Vue 3 中,组件的选项可以通过继承来进行合并。如果直接导出一个普通对象,无法利用选项合并的机制,可能会导致组件的选项被覆盖或无法正确合并。

我们需要在在env.d.ts这个文件中编写 Vue 组件声明:

//在env.d.ts文件中进行添加,但同时会导致一个问题:就算声明未注册的vue组件也不会报错,而是说未读取到其中的值,这是因为我们设置了后缀.vue的都声明成了模块,哪怕那个文件不存在也一样
declare module "*.vue" {
    import {DefineComponent} from "vue"
    const component: DefineComponent
    export default component
}

http://www.kler.cn/news/358149.html

相关文章:

  • 差分题目总和
  • wordpress 子比主题美化 四宫格 多宫格 布局插件
  • 数据结构:二叉树、堆
  • 【Fargo】9:模拟图片采集的内存泄漏std::bad_alloc
  • Spring Boot RESTful API 开发、测试与调试
  • 127-4通道 12bit 125Msps 直流耦合 AD FMC 子卡
  • Kafka-设计思想-1
  • 基于百度智能体开发爱情三十六计
  • Linux——软件安装操作命令
  • 【JavaEE初阶】深入理解网络编程—使用UDP协议API实现回显服务器
  • 数据库原理图
  • STM32F1+HAL库+FreeTOTS学习18——任务通知
  • ubuntu 安装keepalived+haproxy
  • Linux小知识2 系统的启动
  • docker搭建etcd集群环境方式
  • J.D商品详情,一“网”打尽 —— PHP爬虫API数据获取全攻略
  • springcloud之服务集群注册与发现 Eureka
  • 递归、搜索与回溯(二)——递归练习与快速幂
  • sqli-labs less-26 空格绕过
  • 各种排序方法总结