आपको बस कुछ ऐसी सेवा बनाने की आवश्यकता है जो संदेश को छोड़ दें जिस पर आप सब्सक्राइब कर सकते हैं। यह rxjs Observable
से, EventEmitter
से Node.js, या कुछ और कि Observable pattern इस प्रकार हो सकता है। फिर आपको कंक्रीट घटकों में इस सेवा को इंजेक्ट करने के लिए निर्भरता इंजेक्शन का उपयोग करना चाहिए। 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 {}
पुनश्च इस उदाहरण में मैं angular2 से EventEmitter
उपयोग करें, लेकिन फिर से, यह आप जो कुछ भी चाहते हो सकता है
http://embed.plnkr.co/aJe5SUtFlnpmGXWA5eHk/ – Difinity