ionic 进入二级目录以后隐藏底部导航栏(tabs)
1.在标签ion-tabs中添加:ng-class=”{‘tabs-item-hide’: $root.hideTabs}”,源码如下:
1 2 3 4 5 | < ion-tabs class="tabs-icon-top" ng-class="{'tabs-item-hide': $root.hideTabs}"> //tabs </ ion-tabs > |
2.添加angularjs的指令,源码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | //app已经在其他文件中指定,如var app = angular.module("starter",["ionic"]) app.directive('hideTabs', function($rootScope) { return { restrict: 'A', link: function(scope, element, attributes) { scope.$on('$ionicView.beforeEnter', function() { scope.$watch(attributes.hideTabs, function(value){ $rootScope.hideTabs = value; }); }); scope.$on('$ionicView.beforeLeave', function() { $rootScope.hideTabs = false; }); } }; }); |
3.三你想要隐藏的界面标签 ion-view添加表达式hide-tabs=”true”,源码如下:
1 2 3 4 5 6 7 8 9 10 11 | //这是官网模板中的文件 < ion-view hide-tabs="true" view-title="{{chat.name}}"> < ion-content class="padding"> < img ng-src="{{chat.face}}" style="width: 64px; height: 64px"> < p > {{chat.lastText}} </ p > </ ion-content > </ ion-view > |
现在体验下效果吧!
另外,如果要把效果搞得好看点,没有什么延迟现象,需要改动ionic.css文件,改动他需要用scss,这些内容前面也有介绍,改动地方如下:
1 2 3 4 5 6 7 8 9 10 11 | .tabs { -webkit-transition: all linear 0.2s; transition: all linear 0.2s; } .tabs-item-hide > .tabs{ -webkit-transition: all linear 0.2s; transition: all linear 0.2s; bottom: -$tabs-height; display: flex; } |
上面内容在tabs.scss文件中!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步