单击 Angular2-toaster 弹出窗口时如何处理事件

How to handle the event when click on Angular2-toaster pop-up

目前,我正在做一个使用angular2-toaster的项目。

// Show message notification
  this.toasterService.pop('success',
    `New message from ${data.sender.name} (${data.sender.hid})`,
    data.message);

当用户点击弹出窗口时,我想显示对话框以获取更多详细信息。 我在 https://www.npmjs.com/package/angular2-toaster 上搜索了文档 但是找不到处理用户点击弹窗事件的解决方案,你能给我一些建议吗?

非常感谢。

doc,你有 onShowCallback :

var toast: Toast = {
  type: 'success',
  title: 'parent',
  onShowCallback: (toast) => {
    // stuff here
  }  
};

this.toasterService.pop(toast);

您可以使用 clickHandler

@Component({
  selector: 'my-app',
  template: `
    <div>
      <toaster-container [toasterconfig]="config1"></toaster-container>
      <button (click)="popToast()">pop toast</button><br/>
    </div>
  `,
})
export class App {
  private toasterService: ToasterService;

  constructor(toasterService: ToasterService) {
    this.toasterService = toasterService;
  }

  popToast() {
    var toast: Toast = {
      type: 'info',
      title: 'Here is a Toast Title',
      body: 'Here is a Toast Body',
      showCloseButton: true,
      clickHandler: (t, isClosed): boolean => {
        console.log('i am clicked..', isClosed, t);

        // got clicked and it was NOT the close button!
        if (!isClosed) {

        }

        return true; // remove this toast !
      }
    };

    this.toasterService.pop(toast);
  }
}

现场演示:http://plnkr.co/edit/uL98EbfIBd6pm7bMU80V?p=preview