クラスを定義するために角定数を使用しています。インスタンス化するときにクラス定数にコンストラクタのパラメータを持たせることができますが、依存性注入もできるようにするにはどうしたらいいですか?依存性注入によるクラス定数のインスタンス化
ClassA.js
class ClassA { ... }
angular.module("myApp").constant("ClassA", ClassA);
ClassB.js
class ClassB {
constructor(constrParams, ClassA) { // mix of constructor parameter and DI
this.constrParams = constrParams;
this.ClassA = ClassA;
}
}
ClassB.$inject = ["ClassA"]; // ClassB needs reference to ClassA
angular.module("myApp").constant("ClassB", ClassB);
は、私はまだ別の一定の
にClassBのをインポートするときに、これを行うことができるだろう:私はこのような線に沿って考えていますClassC.js
class ClassC {
constructor(ClassB) {
this.classBinst = new ClassB("myparams"); // instantiate new ClassB instance
}
}
ClassC.$inject = ["ClassB"];
angular.module("myApp").constant("ClassC", ClassC);
アイデアを編集し、代わりにファクトリを使用しました。これにより、依存関係注入を実行しながら明示的な作成関数の代わりにインスタンス化する実際のクラス定義が提供されます – geofrey