1
我們是在具有以下多層次導航樹項目:UI-路由器4級狀態
main {
inactive
profile
active
admin {
settings
registration
activePupil
activeAdmin
emergencyDetail {
photos
}
}
}
和實際代碼:
$stateProvider
// this state is placed in the <ion-nav-view> in the index.html
.state('main', {
url: '/main',
abstract: true,
templateUrl: 'main/templates/menu.html',
controller: 'MenuCtrl as menu'
})
.state('main.inactive', {
url: '/inactive',
views: {
'pageContent': {
templateUrl: 'main/templates/inactive.html',
controller: 'InactiveCtrl as inactive'
}
}
})
.state('main.profile', {
url: '/profile',
views: {
'pageContent': {
templateUrl: 'main/templates/profile.html',
controller: 'ProfileCtrl as profile'
}
}
})
.state('main.active', {
url: '/active',
views: {
'pageContent': {
templateUrl: 'main/templates/active.html',
controller: 'ActiveCtrl as active'
}
}
})
.state('main.admin', {
url: '/admin',
views: {
'pageContent': {
templateUrl: 'main/templates/admin.html',
controller: 'AdminCtrl as admin'
}
}
})
.state('main.adminSettings', {
url: '/admin/settings',
views: {
'pageContent': {
templateUrl: 'main/templates/admin-settings.html',
controller: 'AdminSettingsCtrl as adminsettings'
}
}
})
.state('main.adminRegistration', {
url: '/admin/registration',
views: {
'pageContent': {
templateUrl: 'main/templates/admin-registration.html',
controller: 'AdminRegistrationCtrl as adminregistration'
}
}
})
.state('main.adminActivePupils', {
url: '/admin/active/pupils',
views: {
'pageContent': {
templateUrl: 'main/templates/pupils-active.html',
controller: 'PupilsActiveCtrl as pupilsactive'
}
}
})
.state('main.adminActiveAdmins', {
url: '/admin/active/admins',
views: {
'pageContent': {
templateUrl: 'main/templates/admin-active.html',
controller: 'AdminActiveCtrl as adminactive'
}
}
})
.state('main.adminEmergencyDetail', {
url: '/admin/emergency/:id',
views: {
'pageContent': {
templateUrl: 'main/templates/admin-emergency-detail.html',
controller: 'AdminEmergencyCtrl as adminemergency'
}
}
})
.state('main.adminEmergencyDetailPhotos', {
url: '/admin/emergency/:id/photos',
views: {
'pageContent': {
templateUrl: 'main/templates/admin-emergency-photos.html',
controller: 'AdminEmergencyCtrl as adminemergency'
}
}
});
$urlRouterProvider.otherwise('/main/inactive');
遺憾的是,現有的答案是不幫助我們。 Angular UI-Router的維基也是如此。我們應該如何改變規定,像...
$state.go('main.admin.emergencyDetail.photos')
...是可能的,所以回到main.admin.emergencyDetail將成爲可能?
完美。這解決了我們的問題。感謝您的明確答案。 –
不知何故,這隻適用於瀏覽器視圖。儘快我嘗試這個包裹在手機上(例如離子),然後同樣的行爲返回。在瀏覽器中模擬移動設備時出現同樣的問題(chrome)。它似乎不是一個CSS或HTML(重疊後退按鈕)的問題。移動設備上的國家歷史行爲有何不同? –
UI-Router狀態行爲在瀏覽器與移動設備之間是獨立的。但是,離子可能會增加一些自己的處理。一般來說,你不應該遇到差異。但檢查視圖緩存問題,也許這裏http://stackoverflow.com/a/34417037/1679310 –