离子ionViewDidEnter可以检测pop和setRoot吗?

时间:2017-10-13 17:10:40

标签: angular typescript ionic3

我有一个离子3页面需要刷新页面的数据(如果是从navCtrl.setRoot()输入的,而不是如果页面是通过navCtrl.pop()返回的话)。我正在使用ionViewDidEnter()来检测网页的输入时间,但无法确定如何区分setRoot()的条目和pop()的条目。

我的项目是一个标签项目,因此每次选择页面标签时都会出现setRoot()

1 个答案:

答案 0 :(得分:1)

<强>更新

您需要在此处使用Events。您需要uint16_t b = 0b0011101100010101; Override事件,如下所示。

.TS

back button

旧答案:

@ViewChild(Navbar) navBar: Navbar; ionViewDidLoad() { this.navBar.backButtonClick = (e: UIEvent) => {//override back button this.events.publish(Handlers.NEW_PROJECT_PAGE_BUDGET_HANDLER, this.data); this.navCtrl.pop(); } } 表示将新页面推送到导航堆栈。因此,您可以使用页面的navCtrl.setRoot()constructor()

ionViewDidLoad() - This event only happens once per page being created表示您只能使用navCtrl.pop()来检测(或触发)它,因为它使用ionViewDidEnter() - Runs when the page has fully entered and is now the active page. This event will fire, whether it was the first load or a cached page.页面。