Angular - ngToast 清除所有以前的祝酒词并只显示一个

Angular - ngToast clear all previous toasts and show only one

我正在使用 Angular ngToast。我试图一次只展示一个祝酒词。在显示新的 toast.There 之前应该隐藏之前显示的 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
    });

希望这可能有所帮助:

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

ngToast.dismiss(yourToastMsg) 清除特定 toast。

有关详细信息,请参阅 this link

这里有一个 fiddle 可能会对您有所帮助:https://jsfiddle.net/774a9dq4/5/

这里唯一的区别是在调用 toast 对象的新实例之前,只需调用 dismiss() 即可关闭 DOM.

中的所有 toast 实例
ngToast.dismiss();
ngToast.create({
       content:'I am unique <3'
 });

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

为什么 maxNumber:1 不起作用是因为这仅在配置级别可用,因此如果您想覆盖这些值,您需要在引导应用程序时注入配置文件并覆盖 maxNumber property.As 在参考中描述 * 标记的属性处于配置级别,其余的您可以在单个 toast 上覆盖。 ngToast

像这样的东西对你有用inject config to ngToast

app.config(['ngToastProvider', function(ngToastProvider) {
  ngToastProvider.configure({
    additionalClasses: 'my-animation'
  });
}]);