Observablesをコンポーネントで使用することが可能で、他のコンポーネントでサブスクライブできるかどうかは疑問です。角2 - コンポーネントのObservablesを使用して他のコンポーネントに値を出力する
BugListComponent - コンポーネントがboot.tsに注入され、私はすべての私のサービスをロードするファイル指定(ブートストラップが置かれている場所)
import {Subject, BehaviorSubject} from 'rxjs/Rx';
viewBugList$: Subject<boolean>;
constructor() {
this.viewBugList$ = new BehaviorSubject<boolean>(false);
}
// Called from template, sends in 'true'
private enableIEview(enable: boolean) {
if(enable) {
this.viewBugList$.next(true);
}
}
BugListContainerComponent
import {BugListComponent} from '../buglist/bug-list.component';
initView: boolean;
constructor(private _bugListComp: BugListComponent) {
this.initView = false;
}
ngOnInit() {
this._bugListComp.viewBugList$.subscribe(e => {
if(e != null) {
this.initView = e;
}
});
}
ので、 、BugListContainerComponentの 'subscribe'はthのときには影響を受けていないようですe .nextはBugListComponentから呼び出されます。
私は何をしないのです:
以下は概観画像ですか? ありがとう!
なるほど、私は恐れていました。ですから、BugListCompから '@ output'をAppCompにSidebarComp経由で渡すことは可能ですか?それから、MainContainerComp経由でAppComからBugListContainerCompに '@ input'を送りますか? おそらくそれだけのサービスを作成する方が簡単です^^ あなたの素早い回答をありがとうbtw! – Sojye
はい、これは可能ですが、イベントはバブルしません。したがって、各レベルで定義する必要があります。だからこれは痛いでしょう...はい、サービスを作成することは間違いなく簡単です;-) –
ありがとう!これらの種類のサービスについては、非常に小さく、例えば発信するだけです。 true/falseのようないくつかの同様の状況がある場合、これらを1つのサービスで収集することは可能でしょうか?または、それぞれに1つのサービスを用意していますか? – Sojye