所以我在Ionic 2 上搞砸了一下,我想知道如何禁用特定视图的后退按钮 .
我正在做的是 this.nav.push(SomePage);
它有效,但 NavController
会自动为我提供一个后退按钮 . 如何禁用后退按钮?
注意:我知道我可以使用 this.nav.setRoot(SomePage)
将SomePage设置为root并且没有后退按钮,但是这不会提供 NavController
自动执行的有用动画 .
编辑:这个问题有点陈旧,但它引起了一些关注,所以我认为提及将来参考还有另一个原因你可能不想使用 this.nav.setRoot
以推送没有后退按钮的页面:它会删除预先存在的一叠页面 . 因此,如果您仍希望能够在不向用户提供UI方式的情况下返回代码中的上一页, setRoot
将不允许您这样做 .
5 回答
Option 1
通过将
hideBackButton
属性添加到ion-navbar
组件,将其隐藏在视图中Option 2
使用
ViewController
类提供的.showBackButton(bool)
方法从页面类中隐藏它来自Ionic docs的评论
Note
我只想补充一点,当按下硬件后退按钮时,这些选项不会被考虑在内 . 硬件后退按钮仍可能导致活动页面从导航堆栈弹出 .
如你所说,动画缺少:
用“后退”或“前进”为动画写这个:
好的,如果我需要提供的默认动画并且不是“前进”或“后退”怎么办?
有一些方法:
1.这将提供默认动画
在您当前的页面中,写下:
2.不要出于任何原因将其设置为root
好的,现在我们需要照顾一下观点 .
part:隐藏后退按钮
part:因为页面不再是根页面,我们需要再次显示正常的菜单图标(否则在隐藏后退按钮后根本就没有任何图标) .
注意
menuIsHidden
属性 .somePage.html
我希望这会对某人有所帮助 .
您可以在 Ionic 2.0.0-rc.6 中使用以下 Property Decorator
Docs reference
为了防止
hideBackButton
隐藏您的菜单图标,请在app.scss
中使用此css:或者如果您想要显示某个地方而不是某个地方,请按以下方式更改您的选择器:
ion-navbar[hidebackbutton].show-menu button[menutoggle]
您可以将模板导航到模板: