我有三个视图播放列表,播放列表和媒体播放器 .
在我的项目中,我默认返回按钮 . 我正在调试一个游戏商店应用我的方向查看页面是播放列表 - >播放列表 - >媒体播放器 . 我也有单独的控制器,所有那里的视图,但我只在播放列表和媒体播放器页面中获得默认后退按钮 .
1) . 点击播放列表页面中的后退按钮进入播放列表页面,这样就没有问题了 .
2) . 点击媒体播放器页面中的后退按钮进入播放列表页面,但我需要转到播放列表 .
在这里,我有一些链接,我已经通过但我无法理解
Soft navigation bar button - override $rootScope.$ionicGoBack()
Hard Android button - use $ionicPlatform.registerBackButtonAction()
1) . Ionic override all BACK button behaviour for specific controller 2) . https://github.com/driftyco/ionic/issues/399
3) . https://forum.ionicframework.com/t/how-to-handle-a-click-on-the-generated-back-button/582
请一些人解释一下覆盖$ ionicGoBack() . 在我的情况下如何找到天气它是软导航栏按钮或硬Android按钮 .
当我在页面媒体播放器上的后退按钮上给出检查元素时,我得到了这个
<button ng-click="$ionicGoBack()" class="button back-button buttons button-clear header-item" tabindex="0">
<i class="icon ion-ios-arrow-back"></i>
<span class="back-text" style="transform: translate3d(0px, 0px, 0px);">
<span class="default-title">Back</span>
<span class="previous-title hide">Home</span>
</span></button>
1 回答
我将参考我的答案
在您的情况下,您想知道
$ionicGoBack()
是软还是硬后退按钮 . 如上所述,“软导航栏按钮”由该方法处理 .“硬Android按钮”由不同的方法处理:
registerBackButtonAction()
.如果我理解正确,您希望覆盖媒体播放器页面上的所有后退行为,并将用户发送到播放列表页面,即您只想返回1级(这将是正常的Android行为) .
这需要覆盖两个按钮,这是我在链接上解释的更多信息 .
我创建了一个名为
doCustomBack()
的新方法,该方法由两个被覆盖的处理程序调用 . 这是您要用于导航到“播放列表”页面的方法:后面的代码将覆盖默认的软按钮,指向新的
doCustomBack()
方法:最后一部分是覆盖硬按钮,也指向相同的方法:
上面的代码块还创建了取消注册覆盖的方法,这意味着在离开控制器时删除更改很简单:
See my original answer for a different explanation,以及更多相关资源的链接 .