我有角度表示形状.我想使用构造函数实例化该类的多个实例.
constructor(public center: Point,public radius: number,fillColor: string,fillOpacity: number,strokeColor: string,strokeOpacity: number,zIndex: number)
在我的课堂里,我想使用能够在地图上绘制形状的服务.是否可以将该服务注入到我的类中,仍然使用构造函数的标准方式.
所以我想做一些像下面这样的事情,Angular会自动解决注入的依赖关系.
constructor(public center: GeoPoint,zIndex: number,@Inject(DrawingService) drawingService: DrawingService)
我设法解决了我的问题.
原文链接:https://www.f2er.com/angularjs/142631.html角2提供反射式注射器,允许在构造函数参数之外注入依赖关系.
我所要做的只是从角度进口反射式注射器.
import {ReflectiveInjector} from '@angular/core';
接着:
let injector = ReflectiveInjector.resolveAndCreate([DrawingService]); this.drawingApi = injector.get(DrawingService);
该类甚至不需要使用@Injectable装饰器进行装饰.唯一的问题是我必须为DrawingService和所有嵌套的依赖关系提供所有的依赖关系,这样很难维护.