私はいくつかの構成値を含むために "定数"クラスが必要なプロジェクトを作成しています。ここでは、このクラスの抽出物である:私は角2を持つコンポーネントでいる時インジェクションとグローバルな静的クラス(Angular 2)
export class Constants
{
static Configuration = class
{
static CookieName:string = 'etl_language';
};
...
static View = class
{
static Militaries:string = 'militaries';
static Mutants:string = 'mutants';
static Objects:string = 'objects';
static Scientists:string = 'scientists';
};
}
、私はそれをインポートして、そのクラスを使用することができます。
import {Constants} from "../../misc/constants";
そして、それを参照します。
this.cookieName = Constants.Configuration.CookieName;
これはかなりうまく動作しますが、コンストラクタでそのクラスへの参照を挿入するためにAngular 2の依存性注入エンジンを使用する必要があると感じていますが、ちょっと残酷すぎます。しかし、私は、私が自分の解決策に固執できるのか、DIを使わなければならないのか分かりません。
アドバイスはありますか?
DIを使用すると、すべての静的なものを取り除き、どこでも同じオブジェクトインスタンス(シングルトン)を注入できます。 –