TS 类型上不存在属性( Property ‘$xxx‘ does not exist on type ‘xxx‘;)

问题

访问vue原型绑定的属性,在组件中使用的时候报错,如果使用eslint 运行不起来

在这里插入图片描述

解决

方式1(繁琐,使用页面需要增加多个)

$http:any
this.$http

在这里插入图片描述

方式2 (繁琐,使用此方法的组件都需要声明一次)

[x:string]:any

在这里插入图片描述

方式三(建议使用这一种)

在src目录下新增xxx.d.ts文件 (全局声明简捷 如下)

import VueRouter, { Route } from 'vue-router';
declare module 'vue/types/vue' {
  interface Vue {
    $api: any
    $http: any
    $router: VueRouter
    $route: Route
    $Message: any
  }
}

版权声明:本文为MISSNext原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。