我从nuget下载了angular-toaster.d.ts文件并实现了通知服务没有错误但是它无法正常工作
export class notificationService {
constructor(private toaster: ngtoaster.IToasterService) {
debugger;
// this.toaster.toast.timeout = 3000;
// this.toaster.toast.type = EnergyTechApp.Entity.Constants.info;
// this.toaster.toast.showCloseButton = true;
}
displaySuccess(message: string) {
debugger;
this.toaster.success(message); /// not working Not displaying anything
this.toaster.success("", "", 122, ""); // this is a overload
}
}
我不知道在重载时要发送什么,d.ts文件中的重载是
success(title?:string,
body?:string,
timeout?:number,
bodyOutputType?:string,
clickHandler?:EventListener,
toasterId?:number): void
什么是eventHandler以及我必须传递什么才能使烤面包机工作?
答案 0 :(得分:0)
有几点:
烤面包机是否有效,与TypeScript无关。最后,它应该是正确运行的JavaScript。所以TypeScript与问题无关,除非您遇到编译错误?
我认为这里的主要问题是你没有正确构建烤面包机服务。它被注入到服务器的构造函数中,但我没有看到$inject
。假设这是一个角度服务,您应该使用角度依赖注入。我的猜测是,this.toaster是未定义的,这可以解释为什么它不起作用。但你应该看到一些控制台错误。尝试这样的事情:
static $inject = ["toaster"];
constructor(private toaster: ngtoaster.IToasterService) {
}
如果仍然无法正常工作,请确保已加载脚本并将烤箱模块添加为依赖项:
angular.module('myApp', ['toaster', 'ngAnimate'])
最后,clickHandler允许您在用户单击烤面包机时执行一些代码。但这是一个可选的论点,你真的不需要它。只需使用它就可以正常工作:
this.toaster.success("hello");