一个选项卡的离子多个视图状态
ionic multiple view states for one tab
我有四个选项卡设置,它可以正常工作。
但是,在其中一个选项卡上,我希望其中包含三个状态。原因是因为我希望选项卡保持活动状态但同时显示不同的内容状态。我通过添加 "hidden" 选项卡创建了两个额外的状态,但是当使用其他状态时底部的选项卡图标不再是 "active"。
我怎样才能让一个选项卡有多个状态,同时保持该选项卡的图标始终处于活动状态?我应该提一下,我也想保留 < 返回功能。
App.Config
.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('welcome', {
url:'/',
templateUrl:'templates/welcome.html',
controller:'WelcomeCtrl'
})
.state('sign-up', {
url: '/sign-up',
templateUrl: 'templates/sign-up.html',
controller: 'SignUpCtrl'
})
.state('forgot-password', {
url:'/forgot-password',
templateUrl:'templates/forgot-password.html',
controller:'ForgotPasswordCtrl'
})
.state('tabs', {
url:'/tab',
abstract:true,
templateUrl:'templates/tabs.html'
})
.state('tabs.map', {
url:'/map',
views: {
'map-tab':{
templateUrl:'templates/map.html',
controller:'MapCtrl'
}
}
})
.state('tabs.favorites', {
url:'/favorites',
views: {
'favorites-tab':{
templateUrl:'templates/favorites.html',
controller:'FavoritesCtrl'
}
}
})
.state('tabs.coupons', {
url:'/coupons',
views: {
'coupons-tab':{
templateUrl:'templates/coupons.html',
controller:'CouponsCtrl'
}
}
})
.state('singles', {
url:'/singles/{location_id:\d+}',
cache: false,
templateUrl:'templates/singles.html',
controller:'SinglesCtrl'
})
.state('coupon', {
url:'/coupon/{location_id:\d+}/{coupon_id:\d+}',
cache: false,
templateUrl:'templates/coupon.html',
controller:'CouponCtrl'
})
.state('tabs.settings', {
url:'/settings',
views: {
'settings-tab':{
templateUrl:'templates/settings.html',
controller:'SettingsCtrl'
}
}
})
$urlRouterProvider.otherwise('/');
})
Tabs.html
<ion-tabs id="app-tabs" class="tabs-icon-top">
<ion-tab title="Coupons" icon-on="coupon-active" icon-off="coupon-inactive" href="#/tab/coupons">
<ion-nav-view name="coupons-tab"></ion-nav-view>
</ion-tab>
<ion-tab title="Map" icon-on="map-active" icon-off="map-inactive" href="#/tab/map">
<ion-nav-view name="map-tab"></ion-nav-view>
</ion-tab>
<ion-tab title="Favorites" icon-on="favorite-active" icon-off="favorite-inactive" href="#/tab/favorites">
<ion-nav-view name="favorites-tab"></ion-nav-view>
</ion-tab>
<ion-tab title="Settings" icon-on="settings-active" icon-off="settings-inactive" href="#/tab/settings">
<ion-nav-view name="settings-tab"></ion-nav-view>
</ion-tab>
</ion-tabs>
当点击“#/coupons”中的项目时,url 我想去的是“#/singles/”,然后是“#/coupon//”,我想要单曲和优惠券(单数)成为 "Coupons" 标签的一部分。
很高兴看到您想要什么的示例,但如果我的解释正确,您可能会看到类似的内容:
tabs.html
<ion-tabs class="tabs-icon-top tabs-positive">
<ion-tab title="Profile" icon-off="ion-person" icon-on="ion-person" href="#/app/profile/{{currentUser.id}}">
<ion-nav-view name="feed"></ion-nav-view>
</ion-tab>
<ion-tab title="Friends" icon-off="ion-person-stalker" icon-on="ion-person-stalker" href="#/app/friends">
<ion-nav-view name="friends"></ion-nav-view>
</ion-tab>
</ion-tabs>
app.js
.state('app', {
url: "/app",
abstract: true,
templateUrl: "templates/tabs.html",
controller: 'AppCtrl'
})
.state('app.feed', {
url: "/feed",
views: {
'feed' :{
templateUrl: "templates/feed.html",
controller: 'FeedCtrl'
}
}
})
.state('app.friends', {
url: "/friends",
views: {
'friends' :{
templateUrl: "templates/friends.html",
controller: 'FriendsCtrl'
}
}
})
.state('app.add-friends', {
url: "/add-friends",
views: {
'friends' :{
templateUrl: "templates/add-friends.html",
controller: 'AddFriendsCtrl'
}
}
})
.state('app.do-something', {
url: "/do-something",
views: {
'friends' :{
templateUrl: "templates/do-something.html",
controller: 'DoSomethingCtrl'
}
}
})
请注意,好友选项卡有三种状态,"app.friends"、"app.add-friends" 和 "app.do-something"。这里的关键是为每个状态命名视图 'friends',这对应于选项卡的 ion-nav-view 名称。
我有四个选项卡设置,它可以正常工作。
但是,在其中一个选项卡上,我希望其中包含三个状态。原因是因为我希望选项卡保持活动状态但同时显示不同的内容状态。我通过添加 "hidden" 选项卡创建了两个额外的状态,但是当使用其他状态时底部的选项卡图标不再是 "active"。
我怎样才能让一个选项卡有多个状态,同时保持该选项卡的图标始终处于活动状态?我应该提一下,我也想保留 < 返回功能。
App.Config
.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('welcome', {
url:'/',
templateUrl:'templates/welcome.html',
controller:'WelcomeCtrl'
})
.state('sign-up', {
url: '/sign-up',
templateUrl: 'templates/sign-up.html',
controller: 'SignUpCtrl'
})
.state('forgot-password', {
url:'/forgot-password',
templateUrl:'templates/forgot-password.html',
controller:'ForgotPasswordCtrl'
})
.state('tabs', {
url:'/tab',
abstract:true,
templateUrl:'templates/tabs.html'
})
.state('tabs.map', {
url:'/map',
views: {
'map-tab':{
templateUrl:'templates/map.html',
controller:'MapCtrl'
}
}
})
.state('tabs.favorites', {
url:'/favorites',
views: {
'favorites-tab':{
templateUrl:'templates/favorites.html',
controller:'FavoritesCtrl'
}
}
})
.state('tabs.coupons', {
url:'/coupons',
views: {
'coupons-tab':{
templateUrl:'templates/coupons.html',
controller:'CouponsCtrl'
}
}
})
.state('singles', {
url:'/singles/{location_id:\d+}',
cache: false,
templateUrl:'templates/singles.html',
controller:'SinglesCtrl'
})
.state('coupon', {
url:'/coupon/{location_id:\d+}/{coupon_id:\d+}',
cache: false,
templateUrl:'templates/coupon.html',
controller:'CouponCtrl'
})
.state('tabs.settings', {
url:'/settings',
views: {
'settings-tab':{
templateUrl:'templates/settings.html',
controller:'SettingsCtrl'
}
}
})
$urlRouterProvider.otherwise('/');
})
Tabs.html
<ion-tabs id="app-tabs" class="tabs-icon-top">
<ion-tab title="Coupons" icon-on="coupon-active" icon-off="coupon-inactive" href="#/tab/coupons">
<ion-nav-view name="coupons-tab"></ion-nav-view>
</ion-tab>
<ion-tab title="Map" icon-on="map-active" icon-off="map-inactive" href="#/tab/map">
<ion-nav-view name="map-tab"></ion-nav-view>
</ion-tab>
<ion-tab title="Favorites" icon-on="favorite-active" icon-off="favorite-inactive" href="#/tab/favorites">
<ion-nav-view name="favorites-tab"></ion-nav-view>
</ion-tab>
<ion-tab title="Settings" icon-on="settings-active" icon-off="settings-inactive" href="#/tab/settings">
<ion-nav-view name="settings-tab"></ion-nav-view>
</ion-tab>
</ion-tabs>
当点击“#/coupons”中的项目时,url 我想去的是“#/singles/”,然后是“#/coupon//”,我想要单曲和优惠券(单数)成为 "Coupons" 标签的一部分。
很高兴看到您想要什么的示例,但如果我的解释正确,您可能会看到类似的内容:
tabs.html
<ion-tabs class="tabs-icon-top tabs-positive">
<ion-tab title="Profile" icon-off="ion-person" icon-on="ion-person" href="#/app/profile/{{currentUser.id}}">
<ion-nav-view name="feed"></ion-nav-view>
</ion-tab>
<ion-tab title="Friends" icon-off="ion-person-stalker" icon-on="ion-person-stalker" href="#/app/friends">
<ion-nav-view name="friends"></ion-nav-view>
</ion-tab>
</ion-tabs>
app.js
.state('app', {
url: "/app",
abstract: true,
templateUrl: "templates/tabs.html",
controller: 'AppCtrl'
})
.state('app.feed', {
url: "/feed",
views: {
'feed' :{
templateUrl: "templates/feed.html",
controller: 'FeedCtrl'
}
}
})
.state('app.friends', {
url: "/friends",
views: {
'friends' :{
templateUrl: "templates/friends.html",
controller: 'FriendsCtrl'
}
}
})
.state('app.add-friends', {
url: "/add-friends",
views: {
'friends' :{
templateUrl: "templates/add-friends.html",
controller: 'AddFriendsCtrl'
}
}
})
.state('app.do-something', {
url: "/do-something",
views: {
'friends' :{
templateUrl: "templates/do-something.html",
controller: 'DoSomethingCtrl'
}
}
})
请注意,好友选项卡有三种状态,"app.friends"、"app.add-friends" 和 "app.do-something"。这里的关键是为每个状态命名视图 'friends',这对应于选项卡的 ion-nav-view 名称。