angular2 の依存性注入に苦労しています。私の例では、2 つのサービスがあります。
- Service1 は Service2 を注入し、そこからデータを取得します。
- コンポーネントは Service1 を注入し、Service1 からデータを取得します
コンポーネントでService2を提供する必要があります
@Component({
providers: [Service1, Service2]
})
しかし、なぜ?Service1 に Service2 を注入しました。コンポーネントに Service2 への参照がないのに、コンポーネントに Service2 を提供する必要があるのはなぜですか?
ブートストラップ機能でサービスを提供できることは承知していますが、コンポーネントにサービスを提供したいと考えています...
bootstrap(AppComponent, [... Service1, Service2])
これが私のコード例です。プロバイダーが見つからないために機能していません
component.ts
import {Service1} from "service1.ts";
@Component({
providers: [Service1]
})
export class Component{
constructor(private s: Service1) {
//get data from Service1
}
}
service1.ts
import {Service2} from "service2.ts";
@Injectable()
export class service1{
constructor(private s2: Service2) {
//get data from service2
//edit data
//return data
}
}
service2.ts
@Injectable()
export class service2{
constructor() {
//return data
}
}