这里可以看到运行 ionic start 创建脚手架的时候可以指定一个模板。如清单 7 中的 tabs。这里的模板分为两种,代表了 ionic 默认提供的两种全局导航方式,tabs 和 menu。
tabs 布局提供了 app 下方的导航。如图 2 的 home,about 的几个选项;menu 布局提供了左边的滑动菜单,点击按钮,会出现滑动选项,如图 3。
图 2. 底部的 tabs 布局方式

图 3. 侧边栏的 menu 布局方式

这里提供实现 menu 逻辑布局的代码,如清单 8,需要在控制器中注入 MenuController。
清单 8. Menu 布局的控制器逻辑样例
import { Component } from '@angular/core';
   import {MenuController, NavController} from 'ionic-angular';
   @Component({
    selector: 'page-home',
    templateUrl: 'home.html'
   })
   export class HomePage {
    constructor(public navCtrl: NavController, menu: MenuController) {
    menu.enable(true);
    }
   }
清单 9. Menu 布局的前端显示样例
<ion-header>
    <ion-navbar>
    <button ion-button menuToggle icon-only>
   <ion-icon name='menu'></ion-icon>
    </button>
    <ion-title>
    Menus
    </ion-title>
    </ion-navbar>
   </ion-header>
   <ion-content padding>
    <button ion-button block menuToggle>Toggle Menu</button>
   </ion-content>
   <ion-menu [content]="content">
    <ion-header>
    <ion-toolbar>
    <ion-title>Menu</ion-title>
    </ion-toolbar>
    </ion-header>
    <ion-content>
    <ion-list>
    <button ion-item (click)="openPage(homePage)">
    Home
    </button>
    <button ion-item (click)="openPage(friendsPage)">
    Friends
    </button>
    <button ion-item (click)="openPage(eventsPage)">
    Events
    </button>
    <button ion-item (click)="closeMenu()">
    Close Menu
    </button>
    </ion-list>
    </ion-content>
   </ion-menu>
   <ion-nav id="nav" #content></ion-nav>
页面布局元素
回到单个的页面布局,ionic 提供 header 和 content 两块。每块都可能包含多个元素,并且支持 grid 布局。Grid 类似于 bootstrap 前端布局的方式,它会把页面分为 12 格,可以使用 col-x 标明一个元素在页面中占格的区域。这里给出一个 List 元素在 grid 布局下的应用代码。如清单 10,采用了两个 col-6 把页面分为两列,它生成的样式如图 4。
