如何获取Ionic中的活动标签

时间:2015-07-07 20:38:15

标签: javascript angularjs ionic-framework ionic

我在这个代码的模态中有标签:

<ion-tabs class="tabs-positive tabs-top">

<ion-tab title="FIND">
<ion-view>
<ion-content>
<div class="list list-inset">
  <label class="item item-input">
    <i class="icon ion-search placeholder-icon"></i>
    <input type="text" ng-model="data.sight" placeholder="Find events or people" ng-change="searchSight()">
  </label>
</div>
</ion-content>
</ion-view>
</ion-tab>
<ion-tab>
   ... More tabs
</ion-tab>
</ion-tabs>

我有一个页脚按钮,我想根据活动标签执行特定操作,如何获取Ionic中的活动标签?

非常感谢!

2 个答案:

答案 0 :(得分:3)

您可以使用$ ionicTabsDelegate获取选项卡的选定索引,这可能有助于您确定要采取的操作。

function MyCtrl($scope, $ionicTabsDelegate) {
         if ($ionicTabsDelegate.selectedIndex() == 0){
     // Perform some action 
    }
}

使用$ getByHandle方法控制特定的ionTabs实例。

示例:

$ionicTabsDelegate.$getByHandle('my-handle').selectedIndex();

$ionicTabsDelegate API Documentation

进一步详细说明

答案 1 :(得分:3)

据我所知,Ionic使用ui-router。要获取UI路由器中的当前状态,可以使用ui-router的API documentation here中描述的$ state指令。

您可能感兴趣的两种方法可能是:

$state.is('state-name');
$state.includes('part-of-state-name-');

如果你想直接在html中引用它,你需要确保将$ state注入到页脚控制器中,或者如果你想从控制器中取出逻辑,你可以定义一个范围方法或变量