前端开发小技巧 - 【TS + Vue3】- 给组件添加类型

前言

  • 添加组件类型的方式有两种:
    • 局部组件
    • 全局组件、自动注册组件

一、局部组件

  • 显性导入组件 ,会 自动推导组件类型
  • 就是使用 import xxx from 'xxx'; 这种方式导入组件,就会有类型提示;
  • 但是如果我们使用组件的 自动注册插件 的话,是 没有类型提示 的;

二、全局组件、自动注册组件

  • 没有显性导入组件,需要 添加全局组件类型

2.1 声明 类型声明文件

  • 文件位置
    • src/types/components.d.ts

2.2 固定语法

ts 复制代码
// 1.导入组件
import xxx from 'xxx';

// 2.固定写法
// 用来扩展Vue模块下的类型
declare module 'vue' {
  // 如果想扩展一个全局组件类型的话,就必须在 GlobalComponents 下面扩展(固定写法);
  interface GlobalComponents {
    // 添加组件类型
    // 导入的组件是个对象,可以使用 typeof 操作符得到组件具体的类型,再将类型给 组件 去使用
    // typeof 在 TypeScript 中用于获取 变量 活 对象 的类型,因此操作符后面跟的始终是一个变量
    组件名称: typeof 组件名称;
  }
}

2.3 示例展示

ts 复制代码
import CpNavBar form '@/component/CpNavBar/index.vue';

declare module 'vue' {
  interface GlobalComponents {
    CpNavBar: typeof CpNavBar;
  }
}
相关推荐
前端付豪7 分钟前
Prompt Playground(实现提示词工作台)
前端·人工智能·后端
竹林8188 分钟前
在NFT项目中集成IPFS:从Pinata上传到前端展示的完整实战与踩坑
前端·javascript
取名不易8 分钟前
canves实现画布
前端
AlkaidSTART11 分钟前
深入浅出 React Hooks 原理:从 Fiber 的 memoizedState 链表讲到 updateQueue 调度
前端
一颗小行星13 分钟前
Harness Engineering 前端开发的下一个阶段
前端·ai编程
踩着两条虫26 分钟前
重磅!这款AI低代码平台火了:拖拽生成应用,一键输出Web/H5/UniApp
前端·低代码·ai编程
我命由我1234527 分钟前
Vite - Vite 最小项目
服务器·前端·javascript·react.js·ecmascript·html5·js
布局呆星27 分钟前
Vue3 | 事件绑定与双向数据绑定
前端·javascript·vue.js
Hilaku29 分钟前
前端资质越高,越来越不敢随便升级框架?
前端·javascript·架构
自然常数e32 分钟前
预处理讲解
java·linux·c语言·前端·visual studio