私は独自の状態(インスタンス変数など)を持つサービスServiceA
を持っています。私のモジュールにはサービスServiceA
の複数のインスタンスがあります。角2:異なるルート間で非モジュールレベルのサービスを共有する方法
@Injectable()
export class ServiceA {
// It defines instance variables.
}
私はServiceA
の複数のインスタンスを持っている必要がありますので、私はそれモジュールレベルのコンポーネント作ることができないのです。 ComponentB
で
はServiceA
インスタンスをインスタンス化し、潜在的にその状態を変更することができます。
@Component({
providers = [ServiceA],
})
export class ComponentB {
// changes the state of ServiceA.
}
もComponentB
のHTMLテンプレートで私は同じServiceA
インスタンスにアクセスする必要があるComponentC
へのルートを持っています
<a routerLink="/path_to_component_c"></a>
ここでは、ComponentC
の定義があります。
@Component({
providers = [],
})
export class ComponentC {
// accesses ServiceA.
}
、ComponentB
とComponentC
横切ってそれを共有問題がないであろう。しかし、ServiceA
がComponentB
に直接注入されているので、これ以上はできません。 ComponentC
が1つだけ作成され、の後にComponentC
が作成されるたびに注意してください。
ComponentB
とComponentC
の間でデータを共有する方法はありますか?ありがとう!