Can Injectable Services有供应商列表吗?

时间:2018-04-16 16:37:50

标签: dart angular-dart

我正在使用组件类和服务类进行一些代码。

@Injectable()
class MyService extends Object {
  ...
}

@Component(
  ...
  providers: const [MyService]
)
class myCompoment implements onInit {
  final MyService _service;
  MyComponent(this._service);
  ...
}

有没有办法说,给我的注射服务提供商,使其可以消费?在线查看时,它显示Component来自Injectable,所以我想从服务中创建一个组件,但是对于我而言,组件也会有UI。

理想情况下,我想做类似的事情:

@Injectable()
class AnotherClass {}

@Injectable(providers: const [AnotherClass])
class MyService extends Object {
  ...
}

@Component(
  ...
  providers: const [MyService]
)
class myCompoment implements onInit {
  final MyService _service;
  MyComponent(this._service);
  ...
}

但是Injectable似乎不允许提供者属性。

1 个答案:

答案 0 :(得分:1)

您可以将providers: const [MyService, AnotherClass]添加到组件中,MyService可以注入AnotherClass,只需将其列为构造函数参数

@Injectable()
class AnotherClass {}

@Injectable()
class MyService extends Object {
  final AnotherClass _anotherClass;

  MyService(this._anotherClass);
}

@Component(
  ...
  providers: const [MyService, AnotherClass]
)
class myCompoment implements onInit {
  final MyService _service;
  MyComponent(this._service);
  ...
}