AngularJS ui-router不适用于子状态

时间:2015-04-15 22:52:24

标签: angularjs angular-ui-router

我试图让孩子的状态正常工作。

当我测试相应的网址时,每个状态都显示正常。但是有一个问题......

app.config(['$stateProvider', function($stateProvider) {
  $stateProvider.state('root', { // works 100%
    url: '/',
    controller: function($scope) {
      alert("state: root");
    },
    templateUrl: 'root.html'
  })
  .state('program', {  // works 100%
    url: '/program',
    controller: function($scope) {
      alert("state: program");
    },
    templateUrl: 'program.html'
  })
  .state('program.new', {  // works only sorta!
    url: '/new',
    controller: function($scope) {
      alert("state: program.new");
    },
    templateUrl: 'program.new.html'
  });
}]);

...对于program.new, 正在选择正确的状态 (我在调试器中使用以下命令记录转换:https://stackoverflow.com/a/20786262/2308190 ),但只有警报("状态:程序")触发,而不是警报("状态:program.new")。另外,program.html模板显示,而不是program.new.html模板。

儿童州的控制者是否有机会参加比赛?为什么孩子的模板不显示?

要清楚,Angular 找出正确的状态,program.new。它似乎无法运行控制器或渲染模板。

1 个答案:

答案 0 :(得分:0)

想出来:program.html模板里面没有指令,所以没有任何地方可以将子状态program.new呈现为......并且控制器只在视图要渲染时运行。