如果不是在根页面,Ionic2会隐藏菜单按钮并显示返回按钮。
如你所说,以下代码缺少动画效果:
this.view.setRoot(SomePage);
为“back”或“forward”编写动画:
this.nav.setRoot(SomePage, {}, {animate: true, direction: "forward"});
好的,如果我需要提供的动画不是"forward"或"back",而是默认的动画呢?
有几种方法:
1. 这将提供默认的动画
在您当前的页面中,写入:
this.nav.insert(0, SomePage).then(() => {
this.nav.popToRoot();
});
2.不论什么原因都不要将其设为根目录
this.view.push(SomePage);
好的,现在我们需要处理一些事情。
- 部分:隐藏返回按钮
- 部分:因为该页面不再是根页面,所以我们需要再次显示正常的菜单图标(否则隐藏返回按钮后就没有图标了)。
请注意menuIsHidden
属性。
export class SomePage {
menuIsHidden: boolean = false;
constructor(private nav: NavController, private view: ViewController) {}
ionViewWillEnter() {
this.view.showBackButton(false);
}
}
一些页面.html
<ion-header>
<ion-navbar>
<button menuToggle [hidden]="menuIsHidden">
<ion-icon name="menu"></ion-icon>
</button>
<ion-title></ion-title>
</ion-navbar>
</ion-header>
我希望这能帮助到某个人。