在下面的类中,我想抽象出http依赖性,以便Angular 2使用正常的依赖注入来注入http对象。Angular 2 - 在构造函数中使用其他参数混合依赖注入
import { Http } from '@angular/http';
class MyCollectionView<T> extends CollectionView {
constructor(private endpoint: string, private http: Http) {
}
// ... implemenation of class ...
}
我想使用类,如下所示:
class MyClass {
private collection: MyCollectionView<ITestRow>;
constructor() {
this.collection = new MyCollectionView<ITestRow>('/some/endpoint');
}
}
要在我目前的执行实例我必须写
class MyClass {
private collection: MyCollectionView<ITestRow>;
constructor(private http: Http) {
this.collection = new MyCollectionView<ITestRow>('/some/endpoint', http);
}
}
据我知道这是不可能的在构造函数中结合ng2依赖注入和自定义参数。我想我需要某种工厂函数来照顾依赖注入部分,但到目前为止我没有运气。特别是因为课程也使用泛型。我可以在这里遵循哪些最佳做法?
请注意,在单元测试中,应该仍然可以用MockBackend
代替DI。
我发现this question在stackoverflow,但其most upvoted answer不能用于恕我直言,因为参数必须是动态的。
有道理,谢谢你的确认。由于这个类将始终是手动构建的,而不是通过依赖注入来构建,所以我将保持原样。 :) – dotcs