ionic组件ion-tabs(选项卡)实例

时间:2021-04-25 06:28:11

介绍

ion-tabs是ionic中的选项卡组件,路由使用的是angular-ui-router.js。因此必须先掌握uiRoute。AngularJS路由实例(uiRoute、ngRoute)

效果图

ionic组件ion-tabs(选项卡)实例

实例代码

index.html

<body ng-app="starter">
<!--ion-nav-view用来渲染模板-->
<ion-nav-view></ion-nav-view>
</body>

tab-index.html

<ion-tabs class="tabs-icon-only tabs-icon-top ">

<!--href:选项卡对应的状态 icon-on:ion-tab非高亮图标 icon-off:ion-tab高亮图标-->
<ion-tab title="首页" href="#/tabs/home" icon-on="ion-new-home-off" icon-off="ion-new-home">
<!--同一状态下有多个ion-nav-view,因此需要给它们设置name属性。并在配制路由的时候对应状态和渲染视图-->
<ion-nav-view name="tab-home"></ion-nav-view>
</ion-tab>

<ion-tab title="淘宝" href="#/tabs/taobao" icon-off="ion-new-tf" icon-on="ion-new-tf-off">
<ion-nav-view name="tab-taobao"></ion-nav-view>
</ion-tab>

<ion-tab title="好货" icon-off="ion-new-zhemai" icon-on="ion-new-zhemai-off">
</ion-tab>

<ion-tab title="我的" href="#/tabs/user" icon-off="ion-new-user" icon-on="ion-new-user-off">
<ion-nav-view name="tab-user"></ion-nav-view>
</ion-tab>
</ion-tabs>

config.js

.state("tabs", {
url: "/tabs",
templateUrl : "templates/tab/tab-index.html",
controller : "tabs"
})

.state("tabs.home", {
url: "/home",
views : {
"tab-home" : {
templateUrl : "templates/home/home.html"
}
}
})
.state("tabs.taobao", {
url: "/taobao",
views : {
"tab-taobao" : {
templateUrl : "templates/taobao/taobao.html"
}
}
})
.state("tabs.user", {
url: "/user",
views : {
"tab-user" : {
templateUrl : "templates/user/user.html"
}
}
})

接着就可以分别在home.html taobao.html user.html 下编写各个选项卡的内容

例如:

home.html

 <ion-header-bar class="bar bar-header assertive-bg bar-home">
<ion-title>首页</ion-title>
</ion-header-bar>

<ion-view>
<ion-content>

<ion-refresher pulling-text="下拉刷新" on-refresh="doRefresh()"></ion-refresher>

</ion-content>
</ion-view>

注意:不要将ion-tabs置入一个ion-content元素内;它会造成一定的已知CSS错误。