没有显示儿童模板的AngularJS子项

时间:2014-12-10 17:30:52

标签: angularjs ionic-framework angularjs-routing

没有错误。

我能够访问/团队中的团队列表以及/ teams / 2中的特定团队,其中2是团队的ID。

  $stateProvider.state('app.teams.team', {
    url: '/:team',
    templateUrl: 'templates/teams/team.html',
    controller: 'TeamCtrl',
    resolve: {
      team: function($stateParams, TeamsService) {
        return TeamsService.getTeam($stateParams.team)
      }
    }
  })

我无法访问/ teams / 2 /名册上的名单。

 $stateProvider.state('app.teams.team.roster', {
    url: '/roster',

    templateUrl: 'templates/teams/roster.html'

  })

页面加载时没有错误,并显示templates/teams/team.html而不是templates/teams/roster.html

2 个答案:

答案 0 :(得分:0)

问题在于你对状态继承的处理方式。

使用当前配置:

  

app.teams.team州希望网址为http:// app.teams网址 /:team

  

app.teams.team.roster州期望网址为http:// app.teams.team网址 /名册

每个孩子都希望父状态持有一个ui-view指令,这样就可以注入templateUrl。

这意味着对于名册状态你有app.teams htmls,包含团队html,包含名册html。

要在相同级别下加载不同的html,请保持相同的租用级别 - >

  

app.teams.team

     

app.teams.roster

答案 1 :(得分:0)

我最终让名册成为了自己的状态,按预期运作。

  $stateProvider.state('app.roster', {
    abstract: true,
    url: '/teams/:team/',
    views: {
      content: {
        template: '<ion-nav-view></ion-nav-view>'
      }
    },
    resolve: {
      team: function($stateParams, TeamsService) {
        return TeamsService.getTeam($stateParams.team)
      }
    }

  })

  $stateProvider.state('app.roster.index', {
    url: 'roster',
    templateUrl: 'templates/roster/index.html',
    controller: 'TeamCtrl',
  })