我和AngularJS (stateProvider)一起使用Ionic
我在抽象状态的默认模板中添加了以下代码
<ion-nav-bar class="bar-stable">
<ion-nav-back-button>
</ion-nav-back-button>
</ion-nav-bar>
加载默认控制器(显示StateA)时,通过调用
$state.go(...);
这将导致加载另一个模板并将其显示在子视图中。此外,它还激活了back按钮。
这有点奇怪,因为为什么StateB再次显示而不是关闭应用程序。
发布于 2015-05-03 10:36:36
当用户浏览整个应用程序时,Ionic能够跟踪他们的导航历史。通过了解它们的历史,视图之间的转换可以使用平台的转换风格正确地进入和退出。 来自离子Doc
离子型将自动跟踪您的状态历史为您使用stateProvider,所以它是一个堆栈的历史。
从状态A开始,堆栈只有一个页面: A。
| A |
在进入状态B之后,它将被推入历史堆栈:
| B |
| A |
Ionic提供的导航视图将显示导航条中的后退按钮,因为它认为您正在进行状态转换,并帮助您为您保留历史记录(如iOS中的导航控制器)。
然后,如果您单击导航栏中的后退按钮,历史堆栈将弹出B,并再次为您显示A。
| A |
“后退”按钮将为您删除,因为您将回到初始状态(如根页)。
为什么要在手机上点击“后退”按钮,让我回到过渡状态?
您正在操纵全局窗口对象的窗口历史(编译后的Ionic app仍然被认为是一个web应用程序,即使在移动平台上也是如此)。这很像你在浏览器中点击后退按钮时所做的事情。
/A <- /B(window history) <- /A (current page)
我也在这里学习离子,所以我不确定我是否所有的概念正确或不正确。希望这能有所帮助!
https://stackoverflow.com/questions/30011362
复制相似问题