2016-10-25 10 views
19

कोणीय में 2 घटना की घोषणा के लिए इवेंट एमिटर और विषय के बीच क्या अंतर है? ऐसा लगता है जैसे इवेंट उत्सर्जक घोषित करने के लिए कम जटिल हैं .... कोणीय 2 द्वारा किस तरह से पसंद किया जाता है?कोणीय 2 इवेंट उत्सर्जक बनाम विषय

dataRefreshEvent = new EventEmitter(); 

private companyDataAnnouncedSource = new Subject(); 
companyDataAnnouncedSource$ = this.companyDataAnnouncedSource.asObservable(); 
+0

पूरी तरह से आरएक्सजे सीखने के बाद मुझे एहसास हुआ कि EventEmitters के साथ बहुत कुछ किया जा सकता है। स्पष्टीकरण के लिए –

उत्तर

30

इसमें कोई अंतर नहीं है। EventEmitterSubject फैलाता है।

एंगुलर 2 टीम ने इस तथ्य पर बल दिया कि EventEmitter किसी अन्य चीज़ के लिए @Output() एस और घटकों में उपयोग नहीं किया जाना चाहिए।

कोणीय टीम EventEmitter के अंतर्निहित कार्यान्वयन को बदल सकती है और उपयोगकर्ता कोड को तोड़ सकती है जो EventEmitter का उपयोग किसी चीज़ के लिए नहीं करती है। यह मुख्य अंतर है।

+4

धन्यवाद। मैं विषय के साथ रहूंगा, हालांकि यह एक ही परिणाम प्राप्त करने के लिए बहुत से कदम उठाता है ..... बहुत कुछ कोणीय 2 –

+2

के साथ बहुत पसंद है क्या आपके पास इसका उद्धरण है? –

+0

मिथो द्वारा गितूब मुद्दों पर टिप्पणियों में इसका उल्लेख किया गया था। मेरे पास कोई लिंक नहीं है –

6

EventEmitter कस्टम Subjects के विपरीत स्वचालित रूप से साफ़ हो जाता है जिसे आपको onDestroy जीवन चक्र हुक में सदस्यता समाप्त करने की आवश्यकता है।

+0

यह EventEmitter का सबसे महत्वपूर्ण हिस्सा है और इसका कारण यह है कि – DDRamone

+3

क्या आपके पास सबूत है? दस्तावेज़ों से लिंक करें? – Kugel

संबंधित मुद्दे