किसी कारण से, मुझे उत्पादन मोड में अपना ऐप चलाना होगा। उन तौर-तरीकों में क्या अंतर है?
किसी कारण से, मुझे उत्पादन मोड में अपना ऐप चलाना होगा। उन तौर-तरीकों में क्या अंतर है?
जवाबों:
विकास मोड में, परिवर्तन का पता लगाने के पहले रन के तुरंत बाद एक दूसरा रन होता है और पहले और दूसरे रन के बीच कोई बाध्य मूल्य बदल गया है, तो एक त्रुटि पैदा करता है। यह उन बगों का पता लगाने में मदद करता है, जहां मानों की जाँच के साइड-इफ़ेक्ट्स या फ़ील्ड्स या फ़ंक्शंस हैं, बाद के कॉल्स पर वही वैल्यू नहीं देते हैं जो कोणीय परिवर्तन का पता लगाती हैं।
विकास मोड में, दूसरे परिवर्तन का पता लगाने के दौरान, एंगुलर कुछ गहरी वस्तु तुलना भी करता है जो उत्पादन में मॉडल परिवर्तन का पता लगाने के लिए नहीं करेगा।
अपडेट करें:
विकास मोड में, एचटीएमएल सैनिटाइज़र सेवा बाइंडिंग से मान स्ट्रिप्स [innerHTML]="..."
या जब कंसोल को एक संकेत भी मुद्रित किया जाता है [ngStyle]="..."
। इसे भी देखें: RC.1 में बाइंडिंग सिंटैक्स का उपयोग करके कुछ शैलियों को नहीं जोड़ा जा सकता है
ApplicationRef.tick () स्थिति के लिए डॉक्स :
विकास मोड में,
tick()
यह सुनिश्चित करने के लिए एक दूसरा परिवर्तन पता लगाने का चक्र (TTL = 2) भी करता है ताकि कोई और परिवर्तन का पता न चले। यदि इस दूसरे चक्र के दौरान अतिरिक्त परिवर्तन किए जाते हैं, तो ऐप में बाइंडिंग के साइड-इफेक्ट्स होते हैं, जिन्हें एकल परिवर्तन पहचान पास में हल नहीं किया जा सकता है। इस मामले में, कोणीय एक त्रुटि फेंकता है, क्योंकि एक कोणीय आवेदन में केवल एक परिवर्तन खोज पास हो सकता है, जिसके दौरान सभी परिवर्तन का पता लगाने को पूरा करना होगा।
कारण यह है कि हमारे पास अतिरिक्त परिवर्तन नहीं हो सकते क्योंकि उत्पादन मोड में, परिवर्तन का पता लगाना केवल एक बार चलता है, जिसका अर्थ है कि घटक ट्री के प्रत्येक घटक की एक बार जांच की जाती है (TTL = 1) ... ऊपर से, गहराई से-प्रथम गण। इसलिए, उदाहरण के लिए, चाइल्ड कंपोनेंट की इनपुट प्रॉपर्टी में बदलाव के कारण कुछ अन्य प्रॉपर्टी में बदलाव होता है, जो पेरेंट कंपोनेंट को व्यू / टेम्प्लेट में बांधी जाती है, पेरेंट कंपोनेंट का व्यू अपडेट नहीं होगा (क्योंकि चेंज डिटेक्शन दोबारा नहीं आएगा। उत्पादन मोड में मूल घटक ... "वन पास" ट्री ट्रैवर्सल के कारण)। यह केवल अगली बार कुछ घटना घटित होने पर अद्यतन हो जाएगा और परिवर्तन का पता लगाने फिर से चलाता है - लेकिन यह बहुत देर हो चुकी है!
यहां एक प्लंकर है जो नियम का उल्लंघन करता है - एक बच्चे के घटक में एक set
इनपुट संपत्ति पर एक विधि होती है जो एक अन्य इनपुट संपत्ति को संशोधित करती है। हां, यह एक आकस्मिक उदाहरण है, लेकिन इसे अगले की तुलना में समझना आसान है:
एक अन्य परिदृश्य जहां आप इस समस्या में भाग सकते हैं, स्टेटफुल पाइप के साथ है। यदि आपकी समस्या है तो इस उत्तर को देखें ।
आपको अपनी समस्या (दूसरे SO प्रश्न में) का वर्णन करना चाहिए। इसे ठीक करने का एक तरीका होना चाहिए।