首页 > 其他分享 >从vue3+TS项目中导入vue组件路径不识别的问题中认识vue3的组合式API中的常用组件

从vue3+TS项目中导入vue组件路径不识别的问题中认识vue3的组合式API中的常用组件

时间:2022-11-06 00:33:23浏览次数:85  
标签:vue ComponentOptions ts API vue3 组件

最近在使用vite创建vue3+ts项目时,不经意发现一些小问题,对这些小问题进行深究的时候,

会加深我对vue3的一些新理解

今天碰到的一个问题就是我使用vite创建一个vue3+Ts项目后,看到各处引用 的vue组件路径上一堆红色波浪线(.ts文件无法识别vue组件,但又不影响代码运行)

 

 

随手百度的下,引起的原因也很简单,就是ts需要对类型为vue的组件支持,才能识别,

解决办法:创建一个xx.d.ts的文件, 用ts的模块插件的扩展组件declare module去导入vue的常用组件ComponentOptions来解决这个问题

declare module '*.vue'{
    import { ComponentOptions } from "vue";
    const ComponentOptions: ComponentOptions
    export default ComponentOptions
}

 

再给tsconfig.config.json中的compilerOptions对象添加"strict": true,波浪线就解决啦

可是我想在vue3的API中去读下ComponentOptions组件的解释时,却发现它在最现版的API中已经改名成defineComponent

所以我们代码可以写成这样:

declare module '*.vue' {
        import { DefineComponent } from 'vue';
        const component: DefineComponent<{}, {}, any>;
        export default component;
      }

 

 

:扩展阅读下Vue3中的常用三大组件

1,普通组件defineComponent

2,异步组件defineAsyncComponent

3,defineCustomElement

 

标签:vue,ComponentOptions,ts,API,vue3,组件
From: https://www.cnblogs.com/zhixi/p/16861786.html

相关文章

  • 谈谈什么叫vue实例 vue应用 vue组件
    new一个vue对象就形成一个vue实例//用于挂载vue应用的dom元素 //定义用于挂载vue应用的dom元素<divid="app">//自定义组件<component01></component01>......
  • 【Vue3】插槽slot
    Vue3插槽父组件向子组件提前挖好的坑(slot)处,填入对应的内容就叫插槽。插入的内容不局限于文本,甚至可以传入多个元素和数组。一、理解插槽如何使用插槽插槽使用的......
  • Vue Need to install with `app.use` function
    UncaughtSyntaxError:Needtoinstallwith`app.use`function(atmessage-compiler.esm-bundler.js:54:19)atcreateCompileError(message-compiler.esm-bundler.j......
  • 13-组件篇之消息队列(2)_ev
    在app端生成一个客户端id到最后面进行去重就做到幂等性  面试重点      存储是最耗时的                   ......
  • SAP Java Connector 组件介绍
    SAPJavaConnector3.1运行时环境由两部分组成:sapjco3.jar-包含JCo的Java运行时类的存档{libraryprefix}sapjco3{sharedlibraryextension}-包含JCo原生......
  • vuex 持久化
    下载插件 vuex-persistedstatenpmi vuex-persistedstate然后到store文件下面index.js 引入importcreatePersistedStatefrom"vuex-persistedstate";......
  • vue中获取dom对象-$refs与ref
    vue中获取dom对象vue中获取dom对象的语法:<divref="自定义对象名"></div>this.$refs."自定义对象名"$refs组件需要搭配ref来使用例子:绑定这个divhtml中:<divref="......
  • 限流 - 限流注解组件开发
    限流概述系统存在服务上限,流量超过服务上限会导致系统卡死、崩溃。限流:为了在高并发时系统稳定可用,牺牲或延迟部分请求流量以保证系统整体服务可用。限流算法固定窗......
  • 前端vue2+vue-router3+ElementUI+axios综合使用代码教程登录页案例
    为了测试vue2+vue-router3路由+ElementUI界面+axios网络HTTP请求的基本使用情况专门编写一个登录页面进行demo验证  依赖情况package.json{"name":"default",......
  • 读取数组树下的某值,并返回其父级下的任何值 vue
    1//遍历树获取对应id的项中的值2queryTree(tree,value){3letstark=[];4stark=stark.concat(tree);5while(stark.length)......