【ts】vue-typescript-admin類型報錯

在這裏插入圖片描述
1.Property ‘validate’ does not exist on type ‘Vue | Element | Vue[] | Element[]’.
Property ‘validate’ does not exist on type ‘Vue’.Vetur(2339)

在這裏插入圖片描述
方法一:


(this.$refs.dataForm as any).validate() //這樣就不報錯了

在這裏插入圖片描述
方法二:
先在js裏頭的前面引入element 的Form,再as Form

import {Form} from "element-ui";
(this.$refs.dataForm as Form).validate();

在這裏插入圖片描述
在這裏插入圖片描述
參考:https://blog.csdn.net/qq_35257117/article/details/91362483

2.xxx does not exist on type ‘AxiosResponse’.Vetur(2339)
在這裏插入圖片描述

解決方案:
(1).新建axios.d.ts文件,如在該目錄: src/types/axios/axios.d.ts
(2).axios.d.ts文件內容

import * as axios from 'axios'

declare module 'axios' {
  interface AxiosInstance {
    (config: AxiosRequestConfig): Promise<any>
  }
}

(3).修改項目第一層目錄下的tsconfig.json配置文件

{
  "compilerOptions": {
    "typeRoots": [
        "./node_modules/@types",
        "./src/types/",
    ]
  }
}

(4).關閉前端服務器,再重啓vscode,試試效果,不報錯了

在這裏插入圖片描述

參考:https://github.com/axios/axios/issues/1510#issuecomment-529284409

3.Element implicitly has an ‘any’ type because expression of type ‘string’ can’t be used to index type

是在for in中使用報錯的,

    for (let prop in data) {
		console.log(data[prop]);  //使用data[prop]報錯
    }

解決方案:
對象聲明時加個any, let data:any = {}

參考:https://stackoverflow.com/questions/56833469/typescript-error-ts7053-element-implicitly-has-an-any-type

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章