我想显示一个后退按钮,其中包含与上一页相关的标签(标题或类似内容),将在点击事件中调用。 我目前在事件上使用window.history.back()函数,但我怎么能得到标签? ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我有一个离子应用程序,该应用程序的搜索模板具有可在其中按关键字查询帖子的形式。 我也有一项服务,可以将帖子作为列表返回到另一个视图。 一切运行良好。
我的搜索控制器在提交搜索表单后使用:
$state.go('app.search.results', {'searchId': hash});
这样我就可以为该搜索使用唯一的网址。 我需要这个唯一的url来实现“后退”功能,这样,如果用户单击列表中的一个帖子,则在查看帖子后决定是否单击“后退”后,仍然可以看到搜索结果(通过默认情况下,它们将返回搜索表单,不再显示任何结果)。
为了允许返回搜索结果,我实现了自定义的后退按钮功能,并将其放在离子后退按钮元素上,如下所示:
<ion-nav-back-button ng-click="goBack()">
然后设置一个自定义函数:
$scope.goBack = function() {
$window.history.back();
}
所有这些都很好,我可以返回搜索结果并查看它们,基本上就像正常的浏览器后退功能一样。
对我来说,问题是,当我通过“后退”按钮一路“返回”时,我的初始状态包含“后退”按钮,单击它不会出现任何位置,并且仍然显示“后退”按钮。 Ionic在不应该隐藏后退按钮的情况下做得很好,但是在这种情况下不是这样。 任何有关如何检查历史记录何时耗尽以及有条件地隐藏“后退”按钮的想法都将受到赞赏。
编辑:
这是一个jsFiddle ; 注意:在新的单独标签中打开小提琴以查看后退按钮问题。 FYI搜索在菜单中。
我对Ionic拥有的一些疑虑之一是其“智能”导航。 我自己遇到了很多问题。 我的解决方案是创建自己的后退按钮,此后退按钮存储以前的状态及其参数,因此您可以返回而不会丢失搜索结果,例如您的方案。
此组件为您提供了后退按钮和面包屑(或您可以只使用后退按钮)
它是开源的,随时使用!
这是您的jsFiddle,已实现并正在运行jscBreadcrumbs:
jscbreadcrumbs
您使用$window.history.back()
,我认为您应该使用$ionicHistory.goBack();
代替。 它可以以离子方式控制历史,视图和状态。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.