3

我正在使用 Angular ngToast。我试图一次只显示一个吐司。在显示新的 toast 之前,应该隐藏之前显示的 toast。一次应该只有一个 toast。我尝试指定 maxNumber 但不起作用。

ngToast.create({
        className: 'info',
        content: ' New Toast',
        maxNumber: 1
        //autoDismiss: true,
        //maxOpened: 1
        //timeout: 500,
        //preventDuplicates: true,
        //preventOpenDuplicates: true
        //dismissOnClick:true
        //clickToClose: true
    });
4

3 回答 3

3

这是一个可能对您有所帮助的小提琴:https ://jsfiddle.net/774a9dq4/5/

这里唯一的区别是,在调用 toast 对象的新实例之前,只需调用dismiss(),它将关闭 DOM 中的所有 toast 实例。

ngToast.dismiss();
ngToast.create({
       content:'I am unique <3'
 });
于 2017-09-12T05:24:51.830 回答
2

希望这可能会有所帮助:

使用ngToast.dismiss()清除所有吐司。

或者

ngToast.dismiss(yourToastMsg)清除特定的吐司。

有关更多详细信息,请参阅此链接

于 2017-09-12T05:23:15.697 回答
1

上面的答案很简单,但是如果你想完全控制你的 toastr 配置,你需要采取下面的方法。

为什么maxNumber:1不起作用是因为这仅在配置级别可用,因此,如果要覆盖这些值,则需要在引导应用程序时注入配置文件并覆盖 maxNumber 属性。如参考中所述,*标记的属性位于配置级别,休息其他您可以覆盖个别吐司。吐司

像这样的东西可以为你注入配置到 ngToast

app.config(['ngToastProvider', function(ngToastProvider) {
  ngToastProvider.configure({
    additionalClasses: 'my-animation'
  });
}]);
于 2018-03-28T21:36:44.083 回答