ionic关于隐藏底部tabs终极解决方案

这篇博客讨论了在 Ionic 应用中如何根据页面层级动态控制 Tab 的显示与隐藏,主要问题是二级及更低层级页面中 Tab 未能正确隐藏。作者提供了一种在 `$ionicView.beforeEnter` 事件中判断页面状态并设置 `hideTabs` 变量的方法,以实现只在特定页面显示 Tab 的功能。这种方法在处理页面导航和返回时能保持 Tab 显示状态的一致性。

网上看到很多都是写个指令,监听view进出对tab进行显示隐藏,试过挺多个,自己写了一个,都不是太让人满意,问题大多数为:

1、二级页面是隐藏了tab,但是进去三级视图发现tab又出来了

2、三级,四级view隐藏了tab,但是返回键的时候tab一秒后又跑了出来

参考国外资料,如果只要在首页的几个页面中显示tab,其他页面不显示,建议用下面的方式,很好用,直观,明了

控制器里面写

.controller('TabsCtrl', function($scope, $rootScope, $state) {
        $rootScope.$on('$ionicView.beforeEnter', function() {
            var statename = $state.current.name;
            console.log(statename);
            //tabs中存在的主页面不需要隐藏,hidetabs=false
            if(statename ==='tab.circle'||statename ==='tab.help'||statename ==='tab.my'||statename ==='tab.shop'){
              $rootScope.hideTabs = false;
            }else{
              $rootScope.hideTabs = true;
            }
        });
})
 tab里面

<ion-tabs class="tabs-icon-top tabs-stable tabs-color-energized" ng-class="{'tabs-item-hide': hideTabs}" ng-controller="TabsCtrl">
html里面

<ion-view hide-tabs="true" view-title="{{title}}" ng-init="circDetail()" cache-view="true">

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大富大贵7

很高兴能够帮助到你 感谢打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值