मैं दो Angular2 घटक है जो एक सेवा के माध्यम से डेटा साझा करने की जरूरत है:अवलोकन करने के लिए सदस्यता लेने पर अंतिम मूल्य कैसे प्राप्त करें?
@Injectable()
export class SearchService {
private searchResultSource = new Subject<string>()
searchResult$ = this.searchResultSource.asObservable()
setSearchResults(_searchResult: string): void {
this.searchResultSource.next(_searchResult)
}
}
मान लीजिए ComponentA
प्रदान की गई है और यह SearchService.setSearchResults
के माध्यम से एक घटना का उत्सर्जन करता है। फिर उपयोगकर्ता ComponentB
पर जाता है, जो searchResult$
की सदस्यता भी लेता है। हालांकि, ComponentB
ComponentA
द्वारा उत्सर्जित घटना का कभी भी निरीक्षण नहीं करेगा क्योंकि पर ComponentA
पर एक ईवेंट उत्सर्जित नहीं किया गया था, क्योंकि यह अस्तित्व में नहीं था।
मैं Observable
कैसे बना सकता हूं जो हर नए ग्राहक को अंतिम घटना को उत्सर्जित करता है?
क्या आप "सामान्य के रूप में सदस्यता लें" समझा सकते हैं? क्या कोई ऐसा मामला है जहां सदस्यता काम नहीं करती है? – sabithpocker
मेरा मतलब था कि मुझे यह दिखाने की ज़रूरत नहीं है कि आप इस ReplaySubject की सदस्यता कैसे लेते हैं, क्योंकि आपको सदस्यता पक्ष पर कुछ भी विशेष करने की आवश्यकता नहीं है, बस सदस्यता लें और आपको अंतिम मूल्य मिलेगा। – tibbus
ठीक है शांत। मेरी एक ऐसी स्थिति थी जहां 'व्यवहार विषय' सब्सक्रिप्शन काम नहीं करता था, लेकिन 'ReplaySubject' किया था। समझने की कोशिश क्यों कर रहा था। – sabithpocker