У меня есть настройка с четырьмя вкладками, и она работает точно так же, как хотелось бы.Ионные состояния множественного представления для одной вкладки
На одном из вкладок, однако, я хочу, чтобы внутри него было три состояния. Причина в том, что я хочу, чтобы вкладка оставалась активной, но показывая разные состояния контента. Я добавил два дополнительных состояния, добавив «скрытые» вкладки, но затем значок вкладки внизу больше не «активен» при использовании дополнительных состояний.
Как я могу сделать это так, чтобы иметь несколько состояний для одной вкладки, сохраняя при этом значок этой вкладки все время? Я хотел бы упомянуть, что я хочу сохранить функциональность обратно <.
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>
При нажатии на элементе "#/купонами" URL-адрес, я пытаюсь идти на это «#/синглов/», а затем« #/coupon // », и я хочу, чтобы синглы и купон (единственное число) были частью вкладки« Купоны ».
Почему не все три вида, соответствующие трем состояниям, находятся на одной вкладке и скрыты/показаны с помощью ng-if .. Также, когда вы задаете такие контекстуальные вопросы, размещение небольшого кода имеет немного больше смысла –
Что вы подразумеваете под «использованием ng-if»? – Jacksonkr