AngularUI Router: передает параметры URL в «абстрактное» состояние при вызове дочернего состояния
Я хочу получить доступ к параметру url ($ stateParam) внутри абстрактного состояния при вызове дочернего состояния. Мне любопытно узнать, как это можно сделать. Код вПлункер также
$stateProvider
.state('contacts', {
abstract: true,
//my whole point is to get the id=1 here :(
url: '/contacts/:id',
templateUrl: function($stateParams){
console.log("Did i get the child's parameter here? " + $stateParams.id)
return 'contacts' + $stateParams.id + '.html'; //this will have a ui-view in it which will render its detail.
}
})
.state('contacts.detail', {
url: '/:id',
// loaded into ui-view of parent's template
templateUrl: 'contacts.detail.html',
controller: function($scope, $stateParams){
$scope.person = $scope.contacts[$stateParams.id];
},
onEnter: function(){
console.log("enter contacts.detail");
}
})
})
`
и я называю это как
<a ui-sref="contacts.detail({id: 1})">My first contact<a>
Почему я так поступаю? Потому что мой шаблон с сервера разный для разных контактов, разметка разная.