I have the following working code using ui-router that does not have any nesting:
state('speaker', {
url: '/speaker/:id',
templateUrl: 'app/speakers/speaker-detail.html',
controller: 'SpeakerDetailController as vm',
resolve: {
speakerResourceService: 'speakerResourceService',
speaker: function(speakerResourceService,$stateParams) {
return speakerResourceService.get({id: $stateParams.id}).$promise;
}
}
}).
I've tried to pull it apart as is below. It kind of works but the controller never gets called.
state('speaker', {
abstract: true,
url: '/speaker',
templateUrl: 'app/speakers/speaker-detail.html'
}).
state('speaker.id', {
parent: 'speaker',
url: '/:id',
templateUrl: 'app/speakers/speaker-detail.html',
controller: 'SpeakerDetailController as vm',
resolve: {
speakerResourceService: 'speakerResourceService',
speaker: function(speakerResourceService,$stateParams) {
return speakerResourceService.get({id: $stateParams.id}).$promise;
}
}
}).
All hints are welcome.