मेरे पास एक आयनिक 2 ऐप है। ऐप का आधार कक्षा लेना है। एक बार कक्षा खोले जाने के बाद उपयोगकर्ता को इस श्रेणी को रिमोट एपीआई में लेने के रूप में चिह्नित किया जाता है।मैं आईओनिक 2 में अपने रूट पेज पर डेटा कैसे वापस भेज सकता हूं?
डेटा का प्रवाह है:
- उपयोगकर्ता 'वर्ग' टैब को खोलता है।
- ऐप एपीआई से 'क्लासेस' डेटा अनुरोध करता है। प्रत्येक वर्ग में उस उपयोगकर्ता के लिए 'स्थिति' होती है।
- उपयोगकर्ता एक वर्ग का चयन करता है। यह
NavController.push(Page, { 'classes': classObjFromApi });
का उपयोग कर ऐप में एक नया दृश्य खुलता है। - ढेर करने के लिए जोड़ा कुछ पन्नों के होते हैं, प्रत्येक
classes
वस्तु इसे करने के लिए पारित कर दिया है। '(स्थिति में दिखाया गया है' शुरू नहीं हुआ - अंतिम पृष्ठ पर एपीआई सूचित किया जाता है कि वर्तमान वर्ग लिया गया है और उपयोगकर्ता वापस जड़ को जड़ पेज प्रत्येक वर्ग पर
NavController.popToRoot()
का उपयोग कर नेविगेट कर सकते हैं ' , 'प्रगति में', 'पूरा')। उपर्युक्त प्रवाह में बिंदु 5 पर उपयोगकर्ता को रूट पर वापस ले जाया जाता है, लेकिन इसका मूल रूप से निर्माण होने के बाद से डेटा होता है, जो कक्षा को 'शुरू नहीं हुआ' दिखाता है, भले ही यह अब 'पूर्ण' हो।
मैं कैसे ढेर में किसी भिन्न पृष्ठ से जड़ पृष्ठ पर डेटा अद्यतन कर सकते हैं? मैंने माना था कि popToRoot()
navParams
स्वीकार करेगा, इसलिए मैं रूट पेज में उस डेटा की उपस्थिति की जांच कर सकता हूं और यदि यह मौजूद है या एपीआई से अनुरोध है तो इसका उपयोग करें।
मैं ionViewDidEnter
विधि पर एपीआई से डेटा का पुन: अनुरोध करके इसे प्राप्त कर सकता हूं, लेकिन इसका मतलब यह है कि उपयोगकर्ता द्वारा इस पृष्ठ को देखने पर हर बार एक एपीआई/HTTP अनुरोध होता है, भले ही ऐप में डेटा हो। गंदा लगता है।
मैं नहीं बल्कि मोबाइल मेमोरी का उपयोग नहीं करना चाहते हैं अगर मैं इसे मदद कर सकते हैं, के रूप में यह एक देरी जब, पेज लोड हो रहा है के रूप में मैं डेटा यह प्रदर्शित करने से पहले भंडारण से खींचा जा करने के लिए इंतजार करना पड़ता है बनाता है।
तो मेरे सवाल: क्या ऐसा करने का सबसे अच्छा तरीका है? यदि यह दृश्य में डेटा पास करना है, तो मैं यह कैसे कर सकता हूं यदि popToRoot()
नौसेना पैरा का समर्थन नहीं करता है?
+1 घटनाओं के उपयोग की सिफारिश करने के लिए +1 - हालांकि बड़ी संख्या में श्रोताओं को एप्लिकेशन धीमा कर सकता है, यह एक है बहुत उपयोगी सुविधा! –
बहुत बढ़िया, यह वही है जो मैं ढूंढ रहा था। एक इवेंट श्रोता इस उदाहरण में एपीआई कॉल का एक टन बचाएगा। – Mike
सुनकर खुशी हुई! यदि आपने प्रक्रिया पर अधिक नियंत्रण की आवश्यकता है, तो मैंने ऐसा करने के लिए एक और तरीका जोड़ने के लिए उत्तर संपादित किया है। लेकिन आईओनिक घटनाओं के समान ही है, इसलिए मुझे लगता है कि पहला दृष्टिकोण आपके परिदृश्य में पर्याप्त से अधिक है – sebaferreras