Я мое состояние конфигурация определяется следующим образом:
$stateProvider
.state('parentState', {
abstract: true,
url: '/:tenantId/',
param: {
tenantId: {
array: false
}
},
views: {
'[email protected]': {
templateUrl: 'home/header.html',
controller: 'Header as vm'
},
'[email protected]': {
templateUrl: 'home/footer.html',
controller: 'FooterCtrl as vm'
}
},
resolve: userResolve,
data: {
private: true
}
})
//...4-5 other child states, then a state to handle unknown urls
.state('parentState.otherwise', {
views: {
'@': {
templateUrl: 'home/404/pageNotFound.html',
controller: 'PageNotFoundCtrl as vm'
}
}
});
$urlRouterProvider.otherwise(function ($injector) {
$injector.get('$state').go('parentState.otherwise', {}, {
location: false
});
});
Теперь, когда неверный URL введен, parentState.otherwise
состояния нагрузки правильно, и parentState
пар, т.е. tenantId , также правильно заполняется. Однако на странице reload (refresh, Ctrl + R) с тем же недопустимым URL-адресом, parentState.otherwise
состояния загружаются, но проблема заключается в parentState
param, т. Е. TenantId идет как пустая строка ("").
примечание: 'парам:' должен быть 'Титулы:' –
пытался, но Бесполезный» ничего не меняйте. поведение было таким же. – Avinash