为了账号安全,请及时绑定邮箱和手机立即绑定

Ionic2 学习笔记之Tab

Ionic2 组件之Tab

学了Tabs更少不了Tab组件,Tab组件写作<ion-tab>,必须要放置在Tabs组件内,是NavController的一种。

基本用法

Tab有以下几个基本属性和事件:

Attr Type Desc
[root] Page 指定tab希望加载的页面
tabTitle string tab上显示的标题
tabIcon string tab上显示的图标
tabBadge string tab上显示的角标数字
tabBadgeStyle string 角标数字的颜色
enabled boolean tab是否可用,默认为true
show boolean tab是否显示
[rootParams] object tab上传递的参数
tabUrlPath string 点击tab时跳转的页面url
swipeBackEnabled boolean 是否支持滑动后退
tabsHideOnSubPages boolean 在子页面是否隐藏
(ionSelect) 方法 tab select 方法
属性和事件详解

示例html代码如下:

<ion-tabs #mainTabs (ionChange)="changeTabs()" color="danger" tabsHighlight="true">
    <ion-tab [root]="tab1Root" [rootParams]="homeParams" tabTitle="Home" tabIcon="home"></ion-tab>
    <ion-tab [root]="tab2Root" (ionSelect)="selectFriend()" tabTitle="Friends" tabIcon="aperture" tabBadge="3" tabBadgeStyle="danger"></ion-tab>
    <ion-tab [root]="tab3Root" enabled="false"  swipeBackEnabled="true" tabTitle="Contact" tabIcon="contacts"></ion-tab>
</ion-tabs>

示例typeScript脚本代码如下:

import  { Component,ViewChild }    from '@angular/core';
import  { HomePage }     from '../home/home';
import  { AboutPage }    from '../about/about';
import  { ContactPage }  from '../contact/contact';
import  { Tabs,ModalController } from 'ionic-angular';

@Component({
    templateUrl: 'tabs.html'
})
export class TabsPage {
    @ViewChild('mainTabs') tabRef:Tabs;
    // this tells the tabs component which Pages
    // should be each tab's root Page
    tab1Root: any = HomePage;//为tab标签指定导航至的页面
    tab2Root: any = AboutPage;
    tab3Root: any = ContactPage;
    // 指定参数,在tab指向的页面可以读取到该参数
    homeParams:any = {
        user1:"admin",
        user2:"ionic"
    };
    constructor(public modalCtrl: ModalController) {
    }
    changeTabs = function(){
        console.log("tab changed");
    };
    // 选中tab页后的事件
    selectFriend(){
        // 声明一个modal
        let modal = this.modalCtrl.create(ContactPage);
        // 弹出modal
        modal.present();
    }
    ionViewDidEnter(){
        let mainTabs = this.tabRef;
        mainTabs.select(1);
    }
}

home页使用参数示例代码如下:

import { Component } from '@angular/core';
// 引入NavParams
import { NavController,NavParams } from 'ionic-angular';

@Component({
    selector: 'page-home',
    templateUrl: 'home.html'
})
export class HomePage {
    // 在这里指定navParams
    constructor(public navCtrl: NavController,public navParams:NavParams) {
    }
    ionViewWillEnter(){
        // 使用this.navParams.data可以读取tab页传过来的参数
        console.log("NavParams:"+this.navParams.data.user1);
        console.log("NavParams:"+this.navParams.data.user2);
    }
}

此文同时发表于个人博客:链接

点击查看更多内容
7人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消