Учитывая следующие состояния, взятые из документации ui-router:
.state('state1', {
url: '/state1',
templateUrl: 'partials/state1.html'
controller: 'State1Ctrl'
})
.state('state1.list', {
url: '/list',
templateUrl: 'partials/state1.list.html',
})
И контроллер для "partials/state1.html" для состояния "state1":
.controller('State1Ctrl', function () {
});
Есть ли встроенная функция для определения внутри контроллера или внутри шаблона, с какими состояниями связан контроллер/шаблон?
Например:
.controller('State1Ctrl', function ($state) {
console.log($state.this); // state1
});
И если нет встроенного решения, как бы вы "украсили" $state или $stateParams, чтобы содержать эту информацию?
Единственное решение, с которым я столкнулся, это использовать $state.get(), а затем найти состояние с параметром контроллера или шаблона. Это кажется невероятно грязным, однако.