不激活子路由

时间:2015-07-26 02:31:32

标签: angularjs angular-ui-router

Angular版本:1.3.17

UI-Router版本:0.2.15

angular.module('demoApp')
  .config(function ($stateProvider) {
    $stateProvider
      .state('admin', {
        url: '/admin',
        templateUrl: 'app/admin/admin.html',
        controller: 'AdminCtrl'
      })
      .state('admin.category', {
        url: '/category',
        templateUrl: 'app/admin/category/category.html',
        controller: 'CategoryCtrl'
      })
})

出于某种原因,当我访问admin.category时,孩子/admin/category状态永远不会激活。我不明白为什么它不应该起作用,任何帮助都会非常感激。

2 个答案:

答案 0 :(得分:0)

这是因为您的管理状态应该像这样抽象:

  .state({
    name: 'admin',
    templateUrl: 'app/admin/admin.html',
    controller: 'AdminCtrl',
    abstract: true
  })

答案 1 :(得分:0)

要使子状态处于活动状态,ui-router期望父状态的模板将包含将加载子状态的<ui-view/>标记。我忘了将标签放在模板中,因此子控制器永远不会被激活。