【问题标题】:angular2 toaster - No Toaster Containers have been initialized to receive toastsangular2 烤面包机 - 没有烤面包机容器被初始化来接收烤面包
【发布时间】:2018-02-26 22:59:47
【问题描述】:

我在我的 Angular 应用程序中使用 angular2-toaster

很简单,

你在组件的模板中定义了toaster容器

<toaster-container></toaster-container>

然后你使用ToasterService 类型的 toasterService 来弹出 op toaster

  this.toasterService.pop('success', 'Args Title', 'Args Body');

但是这种方法有一个问题,我不想在 我打算弹出烤面包机的每个组件, 我想在根组件中定义一次。应用程序引导程序在哪里 但是当我这样做时,我得到了错误

 No Toaster Containers have been initialized to receive toasts.

有什么解决办法吗?

【问题讨论】:

  • 您可能还必须在根组件中提供ToasterService!但不是在所有子组件中! :)

标签: angular typescript angular-services angular2-toaster


【解决方案1】:

将&lt;toaster-container&gt;&lt;/toaster-container&gt; 放在根组件视图中。 然后在其他每个组件中注入 ToasterService。你仍然可以这样做:

  this.toasterService.pop('success', 'Args Title', 'Args Body');

别忘了在模块级别提供 ToastService。

DEMO

【讨论】:

  • 现在有一个 5.0.0 版本,可以在根之外包含多个容器,同时保证 ToasterService 的单例。这纠正了 OP 看到的行为。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-07-29
  • 1970-01-01
  • 2018-05-24
  • 1970-01-01
  • 1970-01-01
  • 2018-05-12
  • 2018-08-07
相关资源
最近更新 更多