web-dev-qa-db-ja.com

angular2 toaster-トーストを受け取るために初期化されたトースターコンテナーはありません

私は angular2-toaster を使用していますangular app

とても簡単です

コンポーネントのテンプレートでトースターコンテナを定義します

<toaster-container></toaster-container>

タイプToasterServiceのtoasterServiceを使用してopトースターをポップします

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

しかし、このアプローチには問題があります。トースターをポップする予定のすべてのコンポーネントでコンテナを定義するのではなく、ルートコンポーネントで一度定義します。 where application bootstrapしかし、そうするとエラーが発生します

 No Toaster Containers have been initialized to receive toasts.

解決策はありますか?

8
Arash

<toaster-container></toaster-container>ルートコンポーネントビューで。次に、ToasterServiceを他の各コンポーネントに注入します。あなたはまだ行うことができます:

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

また、モジュールレベルでToastServiceを提供することを忘れないでください。

[〜#〜] demo [〜#〜]

12
Vega