angular - किसी टैब से रूट पृष्ठ पर जाएं




typescript ionic2 (2)

जैसे आप डॉक्स में देख सकते हैं

ध्यान दें कि प्रत्येक <ion-tab> एक [root] संपत्ति से जुड़ा हुआ है, बस उपरोक्त नेविगेशन अनुभाग की तरह। ऐसा इसलिए है क्योंकि प्रत्येक <ion-tab> वास्तव में केवल एक नेविगेशन नियंत्रक है इसका अर्थ है कि प्रत्येक टैब का अपना इतिहास स्टैक है , और प्रत्येक टैब के बच्चों के @Components पर NavController उदाहरणों को इंजेक्शन प्रत्येक टैब के लिए अद्वितीय होगा

इसलिए जब किसी पृष्ठ को रूट के रूप में सेट करना है, तो आप उस टैब से नेविगेशन स्टैक का उपयोग कर रहे हैं, और संपूर्ण ऐप में से एक नहीं। यही कारण है कि आपको मुख्य नेविगेशन स्टैक को करने की आवश्यकता है:

constructor(private app: App,...) {...}

और तब

yourMethod(): void {
    this.app.getRootNav().setRoot(YourPage);
}

मैं जानना चाहूंगा कि टैब का उपयोग करते समय ऐप कॉमपेंन्ट में परिभाषित मूल पृष्ठ पर वापस जाने के तरीके। SetRoot विधि काम नहीं कर रहा है जैसा कि मुझे उम्मीद है जब यह किसी टैब पृष्ठ में उपयोग किया जाता है तो नेविगेशन स्टैक साफ़ नहीं होता है। नेविगेशन टॉगल के बजाय 'मुख पृष्ठ' पर वापस बटन दृश्यमान है और टैब का शीर्षक दिखाया गया है।

डिफ़ॉल्ट रूप से, पृष्ठों को कैद और छोड़ दिया जाता है यदि उन्हें नेविगेट किया जाता है, लेकिन अभी भी नेविगेशन स्टैक में (उदाहरण के लिए एक पुश पर निकलते पेज)। नेविगेशन स्टैक (पॉप ()) या setRoot () पर से निकाला जाने पर उन्हें नष्ट कर दिया जाता है

उपरोक्त कथन मुझे उम्मीद देता है कि जब मैं सेटटूट पृष्ठों का उपयोग करता हूं तो कैश से साफ हो जाता है। ऐसा लगता है कि यह एक सामान्य पृष्ठ में उपयोग किया जाता है, लेकिन किसी टैब में नहीं।

टैब पृष्ठ के वर्ग में एक ऐसा फ़ंक्शन होता है जो बटन को क्लिक करते समय घर को रूटपृष्ठ सेट करता है।

goToHome() {
 this.navCtrl.setRoot(HomePage);
}

मैं यह कैसे सुनिश्चित कर सकता हूं कि जब हम होम पेज पर लौटाएंगे तब कोई वापस बटन नहीं होगा और घर का शीर्षक उपयोग किया जाता है जो कि घटक के html टेम्पलेट में उपलब्ध है।


बस कोशिश करो यह मेरे लिए बहुत अच्छा काम करता है

this.childNavCtrl.setRoot(HomePage);




ionic3