加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

typcript – 角色2:将服务注入课堂

发布时间:2020-12-17 07:38:16 所属栏目:安全 来源:网络整理
导读:我有角度表示形状.我想使用构造函数实例化该类的多个实例. 构造函数接受表示该形状属性的多个参数. constructor(public center: Point,public radius: number,fillColor: string,fillOpacity: number,strokeColor: string,strokeOpacity: number,zIndex: num
我有角度表示形状.我想使用构造函数实例化该类的多个实例.

构造函数接受表示该形状属性的多个参数.

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)
我设法解决了我的问题.

角2提供反射式注射器,允许在构造函数参数之外注入依赖关系.

我所要做的只是从角度进口反射式注射器.

import {ReflectiveInjector} from '@angular/core';

接着:

let injector = ReflectiveInjector.resolveAndCreate([DrawingService]);
this.drawingApi = injector.get(DrawingService);

该类甚至不需要使用@Injectable装饰器进行装饰.唯一的问题是我必须为DrawingService和所有嵌套的依赖关系提供所有的依赖关系,这样很难维护.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读