登録できるメッセージを送信するサービスを作成するだけで済みます。 Observable
からrxjs,EventEmitter
node.jsまたはそれに続くObservable patternのいずれかにすることができます。次に、Dependency Injectionを使用して、このサービスを具体的なコンポーネントに注入する必要があります。 this plunkerを参照してください。
class Broadcaster extends EventEmitter {}
@Component({
selector: 'comp1',
template: '<div>Generated number: {{ generatedNumber }}</div>',
})
class Comp1 {
generatedNumber: number = 0;
constructor(broadcaster: Broadcaster) {
setInterval(() => {
broadcaster.next(this.generatedNumber = Math.random());
},1000);
}
}
@Component({
selector: 'comp2',
template: '<div>Received number: {{ receivedNumber }}</div>',
})
class Comp2 {
receivedNumber: number = 0;
constructor(broadcaster: Broadcaster) {
broadcaster.observer({
next: generatedNumber => this.receivedNumber = generatedNumber
});
}
}
@Component({
selector: 'app',
viewProviders: [Broadcaster],
directives: [Comp1, Comp2],
template: `
<comp1></comp1>
<comp2></comp2>
`
})
export class App {}
PSこの例では、私はangular2からEventEmitter
を使用していますが、再び、それはあなたが望むものは何でもすることができ
http://embed.plnkr.co/aJe5SUtFlnpmGXWA5eHk/ – Difinity