1.在标签ion-tabs中添加:ng-class=”{‘tabs-item-hide’: $root.hideTabs}”,源码如下:
<
ion-tabs class
=
"tabs-icon-top"
ng-class
=
"{'tabs-item-hide': $root.hideTabs}"
>
<
/ion-tabs
>
2.添加angularjs的指令,源码如下:
//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”,源码如下:
<
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,这些内容前面也有介绍,改动地方如下:
.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文件中!