項目建立完成後,刪除內建的tab-***.html和app.js預設的路由配置,根據項目功能架構圖重新設定路由。
app.js,配置路由,包含一個抽象模板,和五個tab。
$stateProvider .state(‘tab‘, { url: ‘/tab‘, abstract: true, templateUrl: ‘templates/tabs.html‘ }) .state(‘tab.tab1‘, { url: ‘/tab1‘, views: { ‘tab1‘: { templateUrl: ‘templates/tab1.html‘, controller: ‘Tab1Ctrl‘ } } }) .state(‘tab.tab2‘, { url: ‘/tab2‘, views: { ‘tab2‘: { templateUrl: ‘templates/tab2.html‘, controller: ‘Tab2Ctrl‘ } } }) .state(‘tab.tab3‘, { url: ‘/tab3‘, views: { ‘tab3‘: { templateUrl: ‘templates/tab3.html‘, controller: ‘Tab3Ctrl‘ } } }) .state(‘tab.tab4‘, { url: ‘/tab4‘, views: { ‘tab4‘: { templateUrl: ‘templates/tab4.html‘, controller: ‘Tab4Ctrl‘ } } }) .state(‘tab.account‘, { url: ‘/account‘, views: { ‘tab-account‘: { templateUrl: ‘templates/tab-account.html‘, controller: ‘AccountCtrl‘ } } });
tabs.html 視圖部分
<ion-tabs class="tabs-icon-top tabs-color-active-positive"> <ion-tab title="健康" icon-off="ion-ios-pulse-strong" icon-on="ion-ios-pulse-strong" href="#/tab/tab1"> <ion-nav-view name="tab1"></ion-nav-view> </ion-tab> <ion-tab title="醫學" icon-off="ion-ios-medkit" icon-on="ion-ios-medkit" href="#/tab/tab2"> <ion-nav-view name="tab2"></ion-nav-view> </ion-tab> <ion-tab title="生活" icon-off="ion-coffee" icon-on="ion-coffee" href="#/tab/tab3"> <ion-nav-view name="tab3"></ion-nav-view> </ion-tab> <ion-tab title="農業" icon-off="ion-leaf" icon-on="ion-leaf" href="#/tab/tab4"> <ion-nav-view name="tab4"></ion-nav-view> </ion-tab> <ion-tab title="我" icon-off="ion-ios-person" icon-on="ion-ios-person" href="#/tab/account"> <ion-nav-view name="tab-account"></ion-nav-view> </ion-tab></ion-tabs>
controllers.js 控制器部分,暫無實現代碼。
angular.module(‘starter.controllers‘, []).controller(‘Tab1Ctrl‘, function($scope) {}).controller(‘Tab2Ctrl‘, function($scope) {}).controller(‘Tab3Ctrl‘, function($scope) {}).controller(‘Tab4Ctrl‘, function($scope) {}).controller(‘AccountCtrl‘, function($scope) {});