[英]Arrow function in typescript interface with return type as void
我試圖在下面的類型腳本接口中編寫箭頭函數,但出現錯誤“類'ToastrService'錯誤地實現了接口'IToastr'。”
interface IToastr{
(message:string,title:string):void;
}
@Injectable()
export class ToastrService implements IToastr {
(message:string,title:string):void {
toastr.success(message,title);
}
}
我的問題是:我們可以在TS接口中以返回類型為void定義函數簽名嗎?
我也嘗試過搜索google,但沒有找到任何示例。 謝謝 !!
您正在做的事情似乎很好,只是缺少該函數的名稱(或者,如果這是一個構造constructor
則缺少constructor
關鍵字)
interface IToastr{
toast(message:string,title:string):void;
}
@Injectable()
export class ToastrService implements IToastr {
toast(message:string,title:string):void {
toastr.success(message,title);
}
}
對的,這是可能的。 請查閱官方打字稿以獲取更多信息。
范例1:
interface SearchFunc {
(source: string, subString: string): void;
}
let mySearch: SearchFunc;
mySearch = function(source: string, subString: string) {
// do smth
}
示例2:解決方案:您應該為函數命名
interface IToastr{
FuncName(message:string,title:string):void;
}
class ToastrService implements IToastr {
FuncName(message:string,title:string):void {
// toastr.success(message,title);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.