मुझे पता है कि EventEmitter के साथ एक घटना कैसे बढ़ाएं। अगर मेरे पास इस तरह का एक घटक है, तो मुझे भी बुलाया जा सकता है।
<component-with-event (myevent)="mymethod($event)" />
जब मेरे पास इस तरह का एक घटक होता है, तो सब कुछ बहुत अच्छा होता है। मैंने कुछ तर्क को एक सेवा में स्थानांतरित किया और मुझे सेवा के अंदर से एक घटना को बढ़ाने की आवश्यकता है। मैंने यह क्या किया:
export class MyService {
myevent: EventEmitter = new EventEmitter();
someMethodThatWillRaiseEvent() {
this.myevent.next({data: 'fun'});
}
}
मेरे पास एक घटक है जिसे इस घटना के आधार पर कुछ मूल्य को अपडेट करने की आवश्यकता है लेकिन मैं इसे काम नहीं कर सकता। मैंने जो कोशिश की वह यह थी:
//Annotations...
export class MyComponent {
constructor(myService: MyService) {
//myService is injected properly and i already use methods/shared data on this.
myService.myevent.on(... // 'on' is not a method <-- not working
myService.myevent.subscribe(.. // subscribe is not a method <-- not working
}
}
जब मैं उस सेवा को बढ़ाता हूं, जो इस घटक को नहीं उठाती है, तो मैं MyComponent को इस घटना की सदस्यता कैसे दूं?
मैं 2.0.0-अल्फा.28 पर हूं
संपादित करें: वास्तव में काम करने के लिए मेरे "काम करने के उदाहरण" को संशोधित किया है, इसलिए ध्यान न देने वाले भाग पर रखा जा सकता है;)
उदाहरण कोड: http://plnkr.co/edit/m1x62WoCHpKtx0uLNsIv