2017-04-03 51 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 –