我正在使用Ionic 2。
第1页(SearchPage) - > popover - >第2页(MapPage) - >第1页(SearchPage)(menuToggle not working)
我有一个根页(SearchPage):
HTML
<ion-header>
<ion-navbar>
<button menuToggle>
<ion-icon name="menu"></ion-icon>
</button>
</ion-navbar>
</ion-header>
TS
presentPopover(event: Event): void {
let popover: Popover = this.popoverController.create(SearchPopOverPage, {
ev: event,
employeeModel: this.employeeModel
});
popover.present();
}
酥料饼
presentFilterMap(event: Event) {
this.viewCtrl.dismiss().then(() => {
this.nav.push(MapPage, {
ev: event,
employeeModel: this.employeeModel,
fromSearch: true
})
});
}
但是当我尝试返回根页面(带参数)时,它会显示菜单切换按钮(3行),但是当我点击它时它不起作用(即什么都不做,它应该显示侧面菜单)。
ts (MapPage)文件返回root:
this.nav.insert(0, SearchPage, {
employeeModel: this.employeeModel
});
如果我尝试popToRoot(options)
,则此功能正常,菜单切换按钮正常工作。但是,它不会使用新参数重新加载页面。
有关如何使用参数导航回根页的任何想法吗?
由于
更新: 我尝试了以下内容,但它没有回到根目录:
let options = {
employeeModel: this.employeeModel
};
this.nav.popToRoot(options);
更新: 我也尝试将弹出窗口调用改为下一页,但收效甚微。现在MapPage上的后退按钮可以工作,但是当我转到根页面时,menuToggle仍然没有响应点击。
presentFilterMap(event: Event) {
this.nav.push(MapPage, {
employeeModel: this.employeeModel,
fromSearch: true
}).then(() => {
this.viewCtrl.dismiss();
});
}
如果我不解雇popover,
this.nav.push(MapPage, {
employeeModel: this.employeeModel,
fromSearch: true
});
然后当我使用MapPage上的后退按钮返回root时,弹出框仍然存在,并且menuToggle按预期工作。但是,如果我宁愿导航回根页面(我需要这样做),那么弹出窗口就不存在了,而且menuToggle没有响应。
这意味着问题与popover有关。
答案 0 :(得分:1)
解决方案:使用事件处理参数并弹出到root
let data = {
eModel: this.eModel
};
events.publish('employee:update', data);
this.nav.popToRoot();
在SearchPage构造函数中:
events.subscribe('employee:update', (data) => {
//do whatever you need to do with your data:
let EModel = data[0].eModel;
});
答案 1 :(得分:1)
import { App } from 'ionic-angular';
constuctor(public app: App) {};
pushSignupPage() {
this.viewCtrl.dismiss().then(() => {
this.app.getRootNav().push(SignupPage);
});
}
这项工作对我而言。祝你好运
答案 2 :(得分:0)
从地图页面导航回搜索页面
使用:
compile project(':nxpnfcandroidlib')