Javascript 用于识别用户的事件来自navCtrl.pop()
我有三页,分别是第一页、第二页和第三页 他们的导航将是page1->page2->page3 如何在第2页识别用户通过NavController推送或弹出功能进入本页 我只想在第3页执行一些操作并通过navCtrl.pop()函数重定向到第2页时触发第2页上的函数 我知道我可以在ionViewWillEnter中为nav堆栈中的最后一个视图名设置条件,因为每次用户出现在第2页时,它都会被触发。但如果有其他替代或好的方法可以做到这一点。请让我知道Javascript 用于识别用户的事件来自navCtrl.pop(),javascript,angularjs,ionic-framework,Javascript,Angularjs,Ionic Framework,我有三页,分别是第一页、第二页和第三页 他们的导航将是page1->page2->page3 如何在第2页识别用户通过NavController推送或弹出功能进入本页 我只想在第3页执行一些操作并通过navCtrl.pop()函数重定向到第2页时触发第2页上的函数 我知道我可以在ionViewWillEnter中为nav堆栈中的最后一个视图名设置条件,因为每次用户出现在第2页时,它都会被触发。但如果有其他替代或好的方法可以做到这一点。请让我知道 感谢在navCtrl.push(PageName,
感谢在
navCtrl.push(PageName,parameters)
中将参数从parent
传递到child
的标准方式中,使用push
识别我们是否来到一个页面非常容易
我认为您要问的是如何做相反的事情:将值从子项
传递回父项
以下是解决此问题的解决方案(有关详细信息,请参阅):
在parent中,创建一个新的promise,而不是正常的push
函数,然后在then
部分中,您可以从子级获取一个参数
在child中,在pop()之后
调用其然后
,并通过最初创建的承诺的解析传递参数给父级
家长
new Promise((resolve, reject) => {
this.nav.push(ChildPage, {resolve: resolve});
}).then(data => {
// process data
});
儿童
this.nav.pop().then(() => this.params.get('resolve')('some data'))
我已多次使用上述解决方案。还有另一种解决方案,但我自己还没有测试过:
我正在使用
globalThis['datatoinput']
输入我的数据,然后在我的父页面上使用ionViewDidEnter
阅读globalThis['datatoinput']