angular2-toaster 双重通知

double notification with angular2-toaster

所以我使用 angular2-toaster packages 并且我总是收到双重通知。下面是这个包的使用示例。

我不知道为什么会这样,但我知道如果我在浏览器中重新加载我的 angular2 应用程序,这个问题就会得到解决。有人知道问题出在哪里吗?

Promotion.service.ts

private toasterService: ToasterService;

public toasterconfig : ToasterConfig =
    new ToasterConfig({
        tapToDismiss: true,
        timeout: 5000
});

constructor(
    private ApiClientService: ApiClientService,
    toasterService: ToasterService
) {
    this.toasterService = toasterService;
}
postVoucher(payload: JSON){

    let serviceDec = "voucher";
    let response;
    let status;
    let title;
    let text;
    //console.log(JSON.stringify(payload));;
    return this.ApiClientService.postAPIObject(serviceDec, payload).then((response) => {
        //console.log(response['response_payload']['id']);
        if(response['status']['statusCode']==0){
            this.router.navigate(['/Promotion', response['response_payload']['id']]);
            status = 'success';
            title = 'Erledigt!';
            text = 'Promotion erstellt';
        } else {
            status = 'error';
            title = 'Fehler';
            text = 'Promotion konnte nicht erstellt werden';
        }
        this.toasterService.pop(status, title, text);
    });
}

如果您需要更多其他部分的代码,请发表评论,我会提供。

对于所有遇到同样问题的人,这里有一些检查点可以检查哪些可能 运行 问题。

  1. 如果您将烤面包机与服务器响应结合使用,OPTIONS 也可能会触发烤面包机
  2. 如果您在服务和组件中使用烤面包机,请确保它不会触发两次
  3. Toaster 配置应设置在您应用的 app.module