2017-03-27 9 views
5

जब कभी कोणीय 2 में टेम्पलेट त्रुटि होती है, तो संपूर्ण एप्लिकेशन काम करने में विफल रहता है।कोणीय 2 में टेम्पलेट त्रुटियों (और अन्य त्रुटियों) को कैसे संभालें?

न केवल उस घटक को जो टेम्पलेट था, जो त्रुटि उत्पन्न करता है, काम करने में विफल रहता है और शेष एप्लिकेशन ठीक काम कर रहा है?

त्रुटियों को कैसे संभालें ताकि कोई त्रुटि होने पर एप्लिकेशन उत्तरदायी नहीं रहेगा? का उपयोग करते हुए

class MyErrorHandler implements ErrorHandler { 
    handleError(error) { 
    // do something with the exception 
    } 
} 
@NgModule({ 
    providers: [{provide: ErrorHandler, useClass: MyErrorHandler}] 
}) 
class MyModule {} 
+3

आपको लगता है कि आप उन्हें ठीक करना चाहते हैं और त्रुटियों के साथ कोड नहीं भेजते हैं (: यह एक अच्छी बात है कि ऐप विफल हो जाता है। हालांकि, आप कस्टम ['ErrorHandler'] (https://angular.io/docs/ts/) का उपयोग कर सकते हैं नवीनतम/एपीआई/कोर/इंडेक्स/त्रुटिहैंडलर-क्लास.html) ... – Sasxa

+1

एक ही समस्या का सामना करना पड़ रहा है लेकिन टेम्पलेट पार्सिंग त्रुटि के आसपास कोई फिक्स नहीं लगता है। @harryjohn क्या आपको इसके आसपास कोई फिक्स मिला ?? – Kanchan

उत्तर

4

आप कस्टम ErrorHandler उपयोग कर सकते हैं? टेम्पलेट में किसी ऑब्जेक्ट/सरणी प्रॉपर्टी को बाध्य करते समय चिह्न इसके चारों ओर एक समाधान है।

"user?.name?.firstname" 

अधिक समेकित समाधान जहां हम चाहिए सक्षम टेम्पलेट बाध्यकारी त्रुटियों को संभालने के लिए जब विशाल डेटा वस्तु एपीआई और जोड़ने से आता है के लिए खोज रहे हैं? प्रत्येक संपत्ति के लिए स्थिर और लंबा समाधान नहीं है।

+0

ग्रेट उत्तर, लेकिन जब यह कक्षा कॉल? ऐप के लोड पर? या किसी विशेष घटक पर?, क्या मुझे इसे मुख्य मॉड्यूल में बुलाया जाना चाहिए? अगर आप कर सकते हैं तो थोड़ा और स्पष्टीकरण प्रदान करें। धन्यवाद –

+0

@ पर्दीपजेन यह एक रूट प्रदाता है, इसलिए इसे पूरे ऐप के लिए काम करना चाहिए। मुझे नहीं पता कि क्या होता है यदि आपके पास आलसी लोडेड मॉड्यूल और उनके इंजेक्टर के साथ एक त्रुटि हैडलर है। मैंने उनमें से केवल दो लिखा है: एक असली ऐप के लिए जो फ़ायरबेस में त्रुटि बचाता है; दूसरा कष्टप्रद जोन को रोकने के लिए दूसरा एनएसआर के साथ सेवा करते समय और स्टाइल काम करते हैं। लेकिन दोनों इस उदाहरण की तरह हैं, प्रदाता के साथ 'AppModule' स्तर पर। मैंने इसे और अधिक नहीं खोजा ... – Sasxa

+0

ठीक है जानकारी के लिए बहुत बहुत धन्यवाद, एक और बात मैंने कोशिश की लेकिन कुछ त्रुटि फेंकने के कारण यह नहीं पता कि क्या कारण है, क्या मुझे ErrorHandler के लिए seprate मॉड्यूल बनाना होगा? या सिर्फ ऐप मॉड्यूल के भीतर आयात करें जैसे आपने जवाब में किया था? –

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