AngularUI Router: несколько состояний с одинаковым шаблоном URL
Привет всем, что я столкнулся с тем, что я думал, будет распространенной проблемой маршрутизации, но я не могу найти решение. По сути, моя страница имеет два состояния: базовое и расширенное, и я хочу, чтобы шаблоны URL были одинаковыми для обоих состояний, но одновременно загружать шаблон только для текущего состояния (которое передается изнутри контроллера).
config(function ($stateProvider) {
$stateProvider.state('basic', {
url: '/:post',
templateUrl: function (stateParams) {
return 'post-' + stateParams.post + '-tmpl.html';
}
});
$stateProvider.state('advanced', {
url: '/:post',
templateUrl: function (stateParams) {
return 'post-' + stateParams.post + '-advanced-tmpl.html';
}
});
})
controller('myCtrl', function ($state) {
//
// In this case, I would expect only the template from
// the advanced state to load, but both templates are trying
// to load.
$state.transitionTo('advanced', {post: 2});
}
Я предполагаю, что переход к сопоставленному шаблону загружает данное состояние, поэтому, когда оно совпадает, оба шаблона пытаются загрузить. Есть ли способ выполнить тот же шаблон URL, но с различными шаблонами, основанными только на текущем состоянии?