我有2 - 3个页面是一个页面内的子部分,类似于选项卡。从逻辑上讲,用户不会期望在后退单击时回到上一个选项卡。由于这些是作为单独的页面实现的,用户被带回到单独的选项卡,而不是主部分。
我如何让用户返回到一个自定义的URL只有一些页面?
当你进入一个新的选项卡,你可以从历史记录中删除前一个:
$ionicHistory.removeBackView();
文档
如果你想在设备中自定义你的back函数,我建议这样做:
$ionicPlatform.registerBackButtonAction(function,priority)
在该函数中可以使用$state。去重定向到你想要的地方。
这里的文档
您可以使用ui-view组件而不是ion-nav-view组件来跳过导航历史。
例如你在用
<ion-tabs>
<ion-tab ui-href="state">
<ion-nav-view name="content"></ion-nav-view>
</ion-tab>
</ion-tabs>
你会把它变成:
<a ui-sref="state">Link</a>
<div>
<ui-view name="content"><ui-view>
</div>
这将需要一些更多的模板布局更改,但这应该让你开始。基本上如果你用离子导航视图你会得到历史和离子。查看事件,如果只有ui-router,则只查看更改