2016-07-14 8 views
10

कोई भी जानता है कि आयनिक 2 में बैक इतिहास (या नेविगेशन स्टैक) से कोई दृश्य कैसे निकाला जाए?पीछे इतिहास से एक दृश्य निकालें - Ionic2

आयोनिक 1 में मैं

this.$ionicHistory.nextViewOptions({ 
    disableAnimate: true, 
    disableBack: true 
}); 

के साथ इस हल वास्तव में उपयोगी हो सकते हैं, उदाहरण के लिए, पूरी तरह से इतिहास में एक बार सफलतापूर्वक प्रवेश प्रदर्शन किया गया था से अपने आवेदन की प्रवेश पृष्ठ हटाने के लिए।

बस इस तरह के मामले में बैक बटन नहीं दिखाना पर्याप्त है, क्योंकि एंड्रॉइड टर्मिनलों को डिवाइस पर अपना भौतिक बैक बटन मिला है।

मैंने कोशिश की, अपना लॉगिन समारोह एक सफल वादा लौटे के बाद और ढेर में अगले पृष्ठ धकेलने से पहले: दोनों सफल नहीं थे

this.navController.pop(); 

या

this.navController.remove(this.viewCtrl.index); 

लेकिन दुर्भाग्य :(

उत्तर

15

https://forum.ionicframework.com/t/solved-disable-back-in-ionic2/57457 पर obrejacatalin समाधान

this.nav.push(TabsPage).then(() => { 
    const index = this.nav.getActive().index; 
    this.nav.remove(0, index); 
}); 

इसलिए मुझे लगता है कि यह पहली बार अगले पृष्ठ धक्का, वादा उत्तर के लिए प्रतीक्षा करें और फिर वर्तमान दृश्य

+0

यह वास्तव में ओ पी के प्रश्न का उत्तर doen't: वह "एक पेज" को हटाने सब नहीं करने के लिए पूछ रहा था
तो, केवल दो कदम इतिहास पुनर्स्थापित करने के लिए उनमें से। –

+1

वैसे हाँ यह केवल एक पृष्ठ को हटा देता है और इसके अलावा मैं ओपी हूं और मैंने अपने स्वयं के प्रश्न का उत्तर दिया है, इसलिए हाँ यह निश्चित रूप से मेरे प्रश्न को हल करता है;) –

+1

@ डेविड डलबुस्को इस पर हंसते थे – alsco77

10

को दूर एक को निकालने के backview आप STARTINDEX और पृष्ठों की गिनती का उपयोग करने के ढेर से निकालने की आवश्यकता जरूरी है।

this.navCtrl.push(NextPage) 
    .then(() => { 
     const startIndex = this.navCtrl.getActive().index - 1; 
     this.navCtrl.remove(startIndex, 1); 
    }); 

removeView (ViewController) की तरह अधिक विकल्पों के लिए यह दस्तावेज़ देखें: https://ionicframework.com/docs/v2/api/navigation/NavController/#remove

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