2017-04-03 53 views
1

想知道我怎麼能做到這一點。當使用離子標籤,可以說我有一個簡單的結構是怎樣的離子2標籤重置視圖,當點擊另一個標籤

Home 
About 
Product -> Product Info 

在我的產品頁面(product.ts)我有類似

viewItem(payload) { 
this.navCtrl.push(ResultPage, { 
    data: payload 
}); 
} 
//^Pass data to new Product info page. 

產品信息頁面加載罰款的所有數據在傳遞我在導航欄中找到後退箭頭。

現在,如果點擊關於另一個標籤並返回到產品,它仍會顯示推送的產品信息頁面。

當我離開視圖並向後導航時,我怎樣才能讓它重置回產品頁面?

更新:

如果我這樣做

ionViewDidLeave() { 
this.viewCtrl.dismiss().catch(() => console.log('Some bug going on..')); 
} 

工作,但必須抓住錯誤,否則返回

Runtime Error Uncaught (in promise): false 

看起來像它的錯誤 - https://github.com/driftyco/ionic/issues/10046

如果任何人有任何其他建議,非常感謝。

+0

你能顯示'tabs.ts'和'tabs.html'頁面的代碼嗎? – Sampath

+0

@Sampath - 是不是很多在tab.ts繼續下去,類似於這裏 - https://github.com/driftyco/ionic2-starter-tabs/blob/master/src/pages/tabs/tabs.ts當它推動一個頁面,你會得到後退按鈕,然而導航到另一個標籤,後面它仍然顯示推送頁面。有了我的應用程序,我需要它重置爲原始狀態。 – limit

回答

0

NavController附帶事件。其中之一是ionViewDidLeave

在這個,你可以pop頁面,你不想被保持堆疊。

ionViewDidLeave() { 
    this.navCtrl.pop(); 
} 
+1

我收到承諾錯誤。運行時錯誤未捕獲(承諾):假 – limit

+0

也許嘗試'ionViewWillLeave'檢查完整列表[這裏](https://ionicframework.com/docs/api/navigation/NavController/#lifecycle-events) – Erevald

+0

@Erevald我有一個問題在這裏https://stackoverflow.com/questions/43716187/ionic-2-back-button-or-any-icon-is-not-showing-only-small-box-icon-is-showing –