Injectable Services 可以有提供者列表吗?
Can Injectable Services have a providers list?
我正在用组件 class 和服务 class 编写一些代码。
@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 似乎不允许供应商 属性。
您可以将 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);
...
}
我正在用组件 class 和服务 class 编写一些代码。
@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 似乎不允许供应商 属性。
您可以将 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);
...
}