可注入服务可以有一个提供商列表



我正在用一个组件类和一个服务类做一些代码。

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

有没有办法说,为我的注射服务提供提供者,以便它可以消费? 在线查看时,它显示组件来自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);
  ...
}

但可注射似乎不允许提供者属性。

您可以向

组件添加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);
  ...
}

最新更新