【Angular】Serviceのコンストラクタが実行されない

スポンサーリンク
スポンサーリンク

Serviceを依存性注入(Dependency Injection, DI) で使用しているなどにより、シングルトンになっている可能性があります。

Serviceをシングルトンにする方法は以下の2つです。

  • @Injectable()のprovidedinプロパティに対してrootをセットする。
  • AppModuleか、AppModuleによってのみインポートされるモジュールにサービスを含める。

参考:公式リファレンス
https://angular.jp/guide/singleton-services

SPAとして動作している場合は、生成時の一度しかコンストラクタが実行されないので、
画面表示時に初期化したい等があればComponentのngOnInitなど然るべきタイミングで初期化関数を実行する必要があります。

コメント

タイトルとURLをコピーしました