【问题标题】:Angular - ngToast clear all previous toasts and show only oneAngular - ngToast 清除所有以前的祝酒词并只显示一个
【发布时间】:2017-09-12 04:46:02
【问题描述】:

我正在使用 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
    });

【问题讨论】:

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

标签: angularjs ngtoast


【解决方案1】:

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

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

ngToast.dismiss();
ngToast.create({
       content:'I am unique <3'
 });

【讨论】:

  • 谢谢。效果很好:)
【解决方案2】:

希望这可能会有所帮助:

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

或者

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

更多详情请参考this link

【讨论】:

  • 这就是我来的目的。关闭所有或关闭一条特定消息。
【解决方案3】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多