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 = {}