Vue 文件类型声明

ops/2024/10/22 4:46:48/

.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: DefineComponentexport default component
}

http://www.ppmy.cn/ops/127092.html

相关文章

零基础Java第八期:一维数组(1)

目录 一、 一维数组的基本概念 1.1. 什么是数组 1.2. 数组的创建及初始化 1.3. 数组的使用 二、数组是引用类型 2.1. 初始JVM的内存分布 2.2. 基本类型变量与引用类型变量 2.3. 引用变量的理解 2.4. null 三、数组的应用场景 3.1. 作为函数的参数 3.2. 作为函数的返…

C#中的信号

在C#中,信号是用于线程间同步的工具,允许线程通过信号进行等待和通知,以控制并发执行。以下是几种常见的信号工具及其用法: 1. ManualResetEvent 和 AutoResetEvent 这两个类都是基于信号量的同步原语。它们都允许线程等待某个信号并决定何时继续执行,区别在于事件被触发…

rabbitmq 工作队列模式

工作队列模式 一、原理流程图 二、基本知识 工作队列模式(Work Queue Model)是一种消息队列模型,生产者将任务分发到队列中,多个消费者从队列中按顺序获取并处理任务。该模式主要用于负载均衡,确保任务能够均匀分配给…

ParallelsDesktop20最新版本虚拟机 一键切换系统 游戏娱乐两不误

让工作生活更高效:Parallels Desktop 20最新版本虚拟机的神奇之处 大家好!👋 今天我要跟大家安利一款让我工作效率飞升的神器——Parallels Desktop 20最新版本虚拟机。作为一个日常需要在不同操作系统间来回穿梭的人,这款软件简直…

白嫖正版xshell和XFTP

在哪里可以下载正版免费的xshell和XFTP,并且还能够获得官网免费持久更新 白嫖步骤 首先直接在浏览器搜索xshell官网 点进官网之后直接点击下载 接着点击免费授权页面 进入之后就可以免费下载了 下载安装完成后填写用户名和邮箱并提交,这里就以xshell为…

os.popen模块

一、前言 有时候在写一些脚本的时候,需要执行一些系统命令(windows/linux),因为这边会比较方便。用python原生的办法就比较复杂。下边就介绍集中常见的方法 二、os.system os.system是python 内置模块,执行命令非常简单。可以将要执行的命令传递进去。…

京存助力北京某电力研究所数据采集

北京某电力研究所已建成了一套以光纤为主,卫星、载波、微波等多种通信方式共存,分层级的电力专用的网络通信架构体系。随着用电、配电对网络的要求提高,以及终端通信入网的迅速发展,迫切地需要高效的通信管理系统来应对大规模、复…

(37)使用MATLAB画出余弦波的频谱

文章目录 前言一、MATLAB仿真代码二、仿真结果画图 前言 首先使用MATLAB生成一段余弦信号,然后对其进行FFT变换,画出其频谱。 一、MATLAB仿真代码 代码如下: f [50, 100]; % 两个余弦波的频率 fs 1000; …