0

所以我使用angular2-toaster 包,我总是收到双重通知。下面是一个使用这个包的例子。

我不知道为什么会这样,但我知道如果我在浏览器中重新加载我的 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);
    });
}

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

4

1 回答 1

0

对于所有遇到相同问题的人,这里有一些检查点可以检查哪些可能会出现问题。

  1. 如果您将烤面包机与服务器响应结合使用,OPTIONS 也可能会触发烤面包机
  2. 如果您在服务和组件中使用烤面包机,请确保它不会触发两次
  3. Toaster 配置应在您的应用程序的 app.module 中设置
于 2018-06-27T09:56:38.613 回答