TS 识别Vue全局方法

Vue 添加全局方法之后直接调用会造成TS报错,需要配置声明文件

shims-vue.d.ts文件配置如下

import Vue from 'vue'

declare module '*.vue' {
  export default Vue // 识别.vue文件
}
declare module 'vue/types/vue' {
  interface Vue {
    $toTop: any // 全局方法
  }
}

有时候会有.vue文件无法识别的情况,那是因为在这个文件有声明了别的接口,需要把接口转为global,例如

import Vue from 'vue'

declare module '*.vue' {
  export default Vue
}

declare module 'vue/types/vue' {
  interface Vue {
    $toTop : any
  }
}

declare global {
  interface module {
    title : string
  }

   interface meta {
    moduleIndex ?: string
    module ?: module
    title ?: string
    show ?: boolean
  }

   interface route {
    path : string
    name: string
    component: any
    meta ?: meta
    alias ?: string
  }

   interface variable {
    [propName: string]: any
  }
}

这样的写法

你可能感兴趣的