我正在使用组件类和服务类进行一些代码。
@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似乎不允许提供者属性。
答案 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);
...
}