在angularjs和ionic-v1中的一个公共标题栏中仅显示一个图标

时间:2017-12-29 09:29:55

标签: html css angularjs tabs ionic-v1

我有一个使用Angularjs和Ionic-v1的应用程序。

我有一个常见的标题栏,其中有2个图标(一个用于Tab1,另一个用于Tab2)。 在屏幕的底部,我有2个标签(Tab1和Tab2)。

当我在Tab1时,我想只显示Tab1的图标。当我在Tab2时,我想只显示Tab2的图标。

<div  ng-click="menu.changeLayout()">
                    <a class="icon_one"  ng-if="!grid"></a>
                    <a class="icon_change"  ng-if="grid"></a>
                    <a class="icon_one_test" ng-if="!grid1"></a>
                    <a class="icon_change_test"  ng-if="grid1"></a>
                </div>



In this line   <a class="icon_one_test" ng-if="!grid1"></a> ,Is there any way to hide icon_one and icon_change class?Or is there any other way to do this.

角度代码

$rootScope.grid=false;
$rootScope.grid1=false;


menu.changeLayout=function(){
    console.log("current state"+$state.current.name);
    if($state.current.name=='menu.tab1'){
        console.log('tab1');
        $rootScope.grid=!$rootScope.grid;
    }
    else if($state.current.name=='menu.tab2'){
        console.log('tab2');
        $rootScope.grid1=!$rootScope.grid1;
    }

}

如何实现这一点。任何人都可以帮助我如何做到这一点。

1 个答案:

答案 0 :(得分:0)

使用ng-class根据条件设置类。

<div  ng-click="menu.changeLayout()">
       <a ng-class="{icon_one: !grid , icon_change: grid}" ></a> 
       <a ng-class="{icon_one_test: !grid , icon_change_test: grid}" ></a>  
</div>
条件内的

也会隐藏未选中的标签。

 if($state.current.name=='menu.tab1'){
        console.log('tab1');
        $rootScope.grid= true;
        $rootScope.grid1 = false;
    }
    else if($state.current.name=='menu.tab2'){
        console.log('tab2');
        $rootScope.grid1=true;
        $rootScope.grid= false;
    }