Angularjs 未加载控制器中的UI路由器子状态

Angularjs 未加载控制器中的UI路由器子状态,angularjs,angular-ui-router,Angularjs,Angular Ui Router,我在为每个子状态加载控制器/模板时遇到问题。我在每个状态控制器中都有一个console.log,但它们不会启动。任何想法都将不胜感激 目的是始终为以下每个子状态加载艺术家 var stateConfig = ['$stateProvider', function($stateProvider) { // State Configurations $stateProvider .state('artist', { abstract: true, url: '/' + artistSlug,

我在为每个子状态加载控制器/模板时遇到问题。我在每个状态控制器中都有一个console.log,但它们不会启动。任何想法都将不胜感激

目的是始终为以下每个子状态加载艺术家

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"
})

我认为你需要修改你的状态/参数

应该转到艺术家->艺术家->艺术家->艺术家。然后,如果您转到//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);
        }
      }
    })
}];
var stateConfig=['$stateProvider',函数($stateProvider){
//状态配置
$stateProvider
.州(“艺术家”{
摘要:没错,
url:“/artists”
})
.state('artists.artist'{
url:“/:artistId”,
控制器:“artistCtrl”,
模板:“艺术家和活动的艺术家模板包装器”,
决心:{
艺术家:函数(艺术家$stateparms){
返回artist.getArtist($stateParams.artistId);
}
}
})
.state('artists.artist.events'{
url:“/events”,
控制器:“eventsCtrl”,
templateUrl:“/templates/artist/events.html”,
决心:{
事件:函数(艺术家$stateparms){
返回artist.getArtistEvents($stateParams.artistId);
}
}
})
}];

什么是
artistSlug
?为什么
events
有空url?我们希望将events解析为默认url,而其他州也需要艺术家。artistSlug是一个连字符的url字符串,感谢您的关注,在本例中,artistId将是根。例如://site.com/justin-timberlake/events我认为你也有一个路线来显示标准CRUD模型中的所有艺术家{create,read/list,update,delete}是的,还有一个状态视图,尽管当前使用的“抓取所有艺术家”功能非常少,但我认为如果状态以参数开头,您将遇到状态问题。我的意见是,这不是一个最佳做法。如果我的回答有帮助,请将其标记为已回答。谢谢