UI路由器儿童状态角加载控制器
问题描述:
我有一个问题加载控制器/模板为每个子状态。我在每个状态控制器中都有一个console.log,但它们不会触发。任何想法将不胜感激!UI路由器儿童状态角加载控制器
意图是随时为每个孩子状态加载艺术家。
var stateConfig = ['$stateProvider', function($stateProvider) {
// State Configurations
$stateProvider
.state('artist', {
abstract: true,
url: '/' + artistSlug,
controller: "artistCtrl",
resolve: {
artist: function(artist){
return artist.getArtist();
}
}
})
.state('events', {
parent: 'artist',
url: '',
controller: 'eventsCtrl',
templateUrl: "/templates/artist/events.html"
})
答
我想你需要修改你的国家/ PARAMS
它应该去的艺术家 - > artists.artist - > artists.artist.events。然后,如果你去//site.com/artists/justintimberlake/events它会解决艺术家,然后事件
var stateConfig = ['$stateProvider', function($stateProvider) {
// State Configurations
$stateProvider
.state('artists', {
abstract: true,
url: '/artists'
})
.state('artists.artist', {
url: '/:artistId',
controller: 'artistCtrl',
template: '<div ui-view>Artist Template Wrapper for Artist and Events</div>',
resolve: {
artist: function (artist, $stateParams) {
return artist.getArtist($stateParams.artistId);
}
}
})
.state('artists.artist.events', {
url: '/events',
controller: 'eventsCtrl',
templateUrl: '/templates/artist/events.html',
resolve: {
events: function (artist, $stateParams) {
return artist.getArtistEvents($stateParams.artistId);
}
}
})
}];
什么是'artistSlug'?为什么'events'有空的url? – charlietfl
希望将事件解析为默认网址,而其他状态也需要艺术家。 artistSlug是一个带连字符的url字符串 – Yasir