本文最后更新于:2016年11月30日 晚上
1.ion-view
在 ion-view
加上 hide-tabs
指令
1 2 3
| <ion-view hide-tabs> .. </ion-view>
|
2.在JS中加入
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| .directive('hideTabs', function ($rootScope, $location) { var style = angular.element('<style>').html( '.has-tabs.no-tabs:not(.has-tabs-top) { bottom: 0; }\n' + '.no-tabs.has-tabs-top { top: 44px; }'); document.body.appendChild(style[0]); return { restrict: 'A', link: function (scope, element, attributes) { var tabBar = document.querySelector('.tab-nav'); var scroll = element[0].querySelector('.scroll-content'); scope.$on('$ionicView.beforeEnter', function () { scope.$watch(attributes.hideTabs, function (value) { tabBar.classList.add('slide-away'); scroll.classList.add('no-tabs'); }); }); scope.$on('$ionicView.afterLeave', function () { if ($location.path() == '/tab/aa_against' || $location.path() == '/tab/sf_against' || $location.path() == '/tab/yuding' || $location.path() == '/tab/mine') { tabBar.classList.remove('slide-away'); scroll.classList.remove('no-tabs'); } }); } }; });
|
> PS:
在
1
| scope.$on('$ionicView.afterLeave', function () {})
|
加入
1
| if ($location.path()===···){}
|
判断是否为第一级页面,是才remove隐藏 class
,其他页面始终隐藏。