我正在尝试在我的类型脚本界面中编写箭头功能,如下所示,但是收到错误" Class' 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 ??
我也试过搜索谷歌,但没有找到任何例子。谢谢!!
答案 0 :(得分:3)
你正在做的事情似乎很好,只是缺少一个函数的名称(或者如果这是一个构造函数,则缺少try
{
//snip
}
catch (MySqlException x)
{
//Error logic
}
catch(CryptographicException cex)
{
//logic to handle crypto exception
}
关键字)
try
{
//snip
}
catch (Exception x)
{
//Error logic for all exceptions
}
答案 1 :(得分:2)
是的,这是可能的。有关详细信息,请参阅官方打字稿。
示例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);
}
}