2016-11-13 13 views
14

जब आप घटक/निर्देश इनपुट इनपुट के बाद कुछ कोड चलाने के लिए चाहते हैं तो आप सेटर्स या ngOnChanges हुक का उपयोग कर सकते हैं, लेकिन दूसरे पर एक का उपयोग करने के क्या फायदे हैं? या वे वही बात बिल्कुल ठीक हैं? ngOnChanges() कीकोणीय 2 सेटर्स बनाम ngOnChanges

@Input() 
    set someInput(val) { 
    this.runSomething(); 
    } 

    ngOnChanges(changes) { 
    this.runSomething(); 
    } 

उत्तर

9

एक लाभ यह है कि आप एक बार अगर आपके घटक कई @Input() रों है सभी परिवर्तनों को मिलता है।
यदि आपका कोड केवल एक ही @Input() पर निर्भर करता है तो एक सेटटर शायद बेहतर दृष्टिकोण है।

+0

लेकिन यदि घटक में कई इनपुट हैं, तो क्या संभवतः असंभव सामग्री के लिए 'ngOnChanges' विधि नहीं बनती है? –

+0

मेरा यही मतलब है "यदि आपका कोड केवल एक ही @ @ इनपुट()' ... पर निर्भर करता है। यदि एक विशिष्ट इनपुट परिवर्तन होने पर कोड को निष्पादित किया जाना चाहिए, तो इनपुट को एक सेटटर बनाना संभवतः बेहतर तरीका है। –

+0

अच्छा जवाब। तो मैं समझता हूं कि @input को एक सेटर के रूप में उपयोग किया जाता है जब ngOnchanges नहीं कहा जाएगा। – anonymous

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