Ответ 1
instanceID
объявляется как параметр, поэтому мы можем обращаться к нему следующим образом
.controller('ViewWorklogCrtl',
[ '$scope','$stateParams'
function($scope , $stateParams ) {
//
$scope.instanceID = $stateParams.instanceID;
...
Все остальные детали можно найти здесь https://github.com/angular-ui/ui-router/wiki/URL-Routing
И вызов ui-sref
должен выглядеть следующим образом:
<a ui-sref="instance-ticket.worklog({ instanceID:ticket.testnum })" >..
Расширение:
В случае, если мы хотим получить два параметра: 1) instanceID из родительского 2) testnum из текущего, мы должны отрегулировать состояние, как это показано
.state('instance-ticket', {
url: '/ticket/:instanceID', // instanceID
templateUrl: 'partials/instance-ticket',
controller: 'ViewTicketCrtl'
})
.state('instance-ticket.worklog', {
// new param defintion
url: '/worklog/:testnum', // testnum
views:{
'top-section':{
templateUrl:'/partials/ticket.worklog.jade',
controller: 'ViewWorklogCrtl'
}
}
И ui-sref
<a ui-sref="instance-ticket.worklog({ instanceID:1, ticket.testnum:2 })" >..
И мы можем получить доступ к нему следующим образом:
.controller('ViewWorklogCrtl',
[ '$scope','$stateParams'
function($scope , $stateParams ) {
//
console.log($stateParams.instanceID)
console.log($stateParams.testnum)
...