在Typescript中,我可以用下面的其他接口定義接口函數對象嗎?我正在試圖定義我要在我的Ajax函數中使用的對象。使用類實現定義接口對象
但有了這個代碼,我得到一個錯誤:
Error:(22, 1) TS2346: Supplied parameters do not match any signature of call target.
錯誤設置的實例。
interface IXHR {
Ajax(ajax: IAjax): string;
}
interface IAjax {
method: string;
url: string;
async: boolean;
callback?: (data: string) => void;
}
class XHR implements IXHR {
public Ajax(ajax: IAjax) {
return ajax.url;
}
constructor() {}
}
let instance = new XHR();
instance.Ajax('GET', 'URL', true);
您方法'IXHR'中定義的'Ajax'只有一個參數,而你試圖用3個參數調用它的實例 – yarons
它不能使用IAjax接口嗎?我必須在Ajax函數中寫入所有參數,如下所示:Ajax(method:string,url:string,async:boolean,callback ?:()=> void):string;另一種方式只是看起來更光滑:) – aventic
我會盡力爲你的問題寫一個更完整的答案 – yarons