ionic 選項卡欄操作

ion-tabs

ion-tabs 是有一組頁面選項卡組成的選項卡欄。可以通過點選選項來切換頁面。

對於 iOS,它會出現在螢幕的底部,Android會出現在螢幕的頂部(導航欄下面)。

用法

例項

<ion-tabs class="tabs-positive tabs-icon-only"> <ion-tab title="首頁" icon-on="ion-ios-filing" icon-off="ion-ios-filing-outline"> <!-- 標籤 1 內容 --> </ion-tab> <ion-tab title="關於" icon-on="ion-ios-clock" icon-off="ion-ios-clock-outline"> <!-- 標籤 2 內容 --> </ion-tab> <ion-tab title="設定" icon-on="ion-ios-gear" icon-off="ion-ios-gear-outline"> <!-- 標籤 3 內容 --> </ion-tab> </ion-tabs>

效果如下所示:

API

屬性 型別 詳情
delegate-handle
(可選)
字串

該控制代碼用$ionicTabsDelegate來標識這些選項卡。


ion-tab

隸屬於ionTabs

包含一個選項卡內容。該內容僅存在於被選中的給定選項卡中。

每個ionTab都有自己的瀏覽歷史。

用法

<ion-tab
  title="Tab!"
  icon="my-icon"
  href="https://www.itread01.com/ionic/#/tab/tab-link"
  on-select="onTabSelected()"
  on-deselect="onTabDeselected()">
</ion-tab>

API

屬性 型別 詳情
title 字串

選項卡的標題。

href
(可選)
字串

當觸碰的時候,該選項卡將會跳轉的的連結。

icon
(可選)
字串

選項卡的圖示。如果給定值,它將成為ion-on和ion-off的預設值。

icon-on
(可選)
字串

被選中標籤的圖示。

icon-off
(可選)
字串

沒被選中標籤的圖示。

badge
(可選)
表示式

選項卡上的徽章(通常是一個數字)。

badge-style
(可選)
表示式

選項卡上微章的樣式(例,tabs-positive )。

on-select
(可選)
表示式

選項卡被選中時觸發。

on-deselect
(可選)
表示式

選項卡取消選中時觸發。

ng-click
(可選)
表示式

通常,點選時選項卡會被選中。如果設定了 ng-Click,它將不會被選中。 你可以用$ionicTabsDelegate.select()來指定切換標籤。


$ionicTabsDelegate

授權控制ionTabs指令。

該方法直接呼叫$ionicTabsDelegate服務,控制所有ionTabs指令。用$getByHandle方法控制具體的ionTabs例項。

用法

<body ng-controller="MyCtrl">
  <ion-tabs>

    <ion-tab title="Tab 1">
      你好,標籤1!
      <button ng-click="selectTabWithIndex(1)">選擇標籤2</button>
    </ion-tab>
    <ion-tab title="Tab 2">你好標籤2!</ion-tab>

  </ion-tabs>
</body>
function MyCtrl($scope, $ionicTabsDelegate) {
  $scope.selectTabWithIndex = function(index) {
    $ionicTabsDelegate.select(index);
  }
}

方法

select(index, [shouldChangeHistory])

選擇標籤來匹配給定的索引。

引數 型別 詳情
index 數值

選擇標籤的索引。

shouldChangeHistory
(可選)
布林值

此選項是否應該載入這個標籤的瀏覽歷史(如果存在),並使用,或僅載入預設頁面。預設為false。提示:如果一個ion-nav-view在選項卡里,你可能需要設定它為true。

selectedIndex()

返回值: 數值, 被選中標籤的索引,如 -1。

$getByHandle(handle)
引數 型別 詳情
handle 字串

例如:

$ionicTabsDelegate.$getByHandle('my-handle').select(0);