一.选项卡 : ion-tabs简单介绍
使用ion-tabs指令声明选项卡,使用ion-tab声明选项页:
...
...
...
每个ion-tab元素的title属性值将作为选项页的标题其 内容将填充选项卡书签栏之外的剩余区域(被应用.pane样式)。 注意: 1. 不要把ion-tabs指令放在ion-content之内 2. ion-tab的内容应当放入ion-view指令内,否则ionic在计算布局时可能出错 AngularJS编译后,ion-tabs元素将被应用.tabs样式,因此我们可以使用 相关的样式调整ion-tabs的外观:
ion-tabs简介
tab 1 content
tab 2 content
tab 2 content
二.ion-tabs 常用设置
ion-tabs声明条带风格:
...
也可以通过$ionicConfigProvider在AngularJS的配置阶段,将选项卡设置为条带风格:
app.config(function($ionicConfigProvider){
$ionicConfigProvider.tabs.style("striped"); // 参数可以是: standard | striped
})
...
也可以通过$ionicConfigProvider,在配置阶段设置选项卡的位置是在顶部还是底部:
app.config(function($ionicConfigProvider){
$ionicConfigProvider.tabs.position("top"); //参数可以是:top | bottom
});
ion-tabs : top
tab 1 content
tab 2 content
tab 3 content
Go State 1
$stateProvider
.state('contacts', {})
.state('contacts.list', {});
2).使用parent属性,指定一个父状态的名称字符串,例如:parent: 'contacts';
$stateProvider
.state('contacts', {})
.state('list', { parent: 'contacts' });
var contacts = { name: 'contacts', //mandatory templateUrl: 'contacts.html' }
var contactsList = { name: 'list', //mandatory parent: contacts, //mandatory templateUrl: 'contacts.list.html' }
$stateProvider
.state(contacts)
.state(contactsList)
4. ionic路由结合tap实现页面切换
2. 在ionic $stateProvider.state中定义view 并对应 ion-nav-view 中的name属性
tabs.html:
tab-tab1.html:
Tab1
{{title}}
跳转到内容
news跳转到内容
tab-tab2.html:
Tab2
{{title}}
tab-tab3.html:
Tab3
{{title}}
tab-content1.html:
tabContent1
{{title}}
news.html:
news
news
news
app.js:
angular.module('myApp', ['ionic','myApp.controllers'])
.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('tab', {
url: "/tab",
abstract:true,
templateUrl: "templates/tabs.html"
})
.state('tab.tab1', {
url: '/tab1',
views:{
'tab-tab1':{
templateUrl: "templates/tab-tab1.html",
controller:'tab1Controller'
}
}
})
.state('tab.tab2', {
url: '/tab2',
views:{
'tab-tab2':{
templateUrl: "templates/tab-tab2.html",
controller:'tab2Controller'
}
}
})
.state('tab.tab3', {
url: '/tab3',
views:{
'tab-tab3':{
templateUrl: "templates/tab-tab3.html",
controller:'tab3Controller'
}
}
})
.state('tab.content1', {
url: '/content1/:id',
views:{
'tab-tab1':{
templateUrl: "templates/tab-content1.html",
controller:'content1Controller'
}
}
})
.state('news', {
url: '/news',
templateUrl: "templates/news.html"
})
$urlRouterProvider.otherwise('/tab/tab1');
});
controller.js
angular.module('myApp.controllers', [])
.controller('tab1Controller', function($scope) {
$scope.title='tab1Controller';
})
.controller('tab2Controller', function($scope) {
$scope.title='tab2Controller';
})
.controller('tab3Controller', function($scope) {
$scope.title='tab3Controller';
})
.controller('content1Controller', function($scope,$stateParams) {
$scope.title='content1Controller';
console.log($stateParams);
})