ui-router自动将根状态URL改为抽象

时间:2015-02-11 07:08:17

标签: angularjs angular-ui-router angularjs-routing

某些状态路由无效,当我开始使用浏览器控制台调试我的应用时,我发现我的根网址被定义为抽象。

以下是各州。

.state('home', {
    url: '/',
    data: {
        authorizedRoles: [appconfig.USER_ROLES.guest]
    }
})
.state('test', {
    url: '/testing',
    templateUrl: 'views/test.html',
    data: {
        authorizedRoles: [appconfig.USER_ROLES.guest]
    }
})

并在结束时 $urlRouterProvider.otherwise('/');

这是我在浏览器控制台中获得的输出。

$stateChangeStart from: Object { url="^", abstract=true, name="", more...}
$stateChangeStart to test- fired when the transition begins. toState,toParams : 

Object { url="/testing", templateUrl="views/test.html", data={...}, more...} 

在此之后,即使没有错误也没有任何反应。我测试了以下事件:

  • $stateChangeStart(工作后没有任何反应)
  • $stateChangeError
  • $stateChangeSuccess
  • $stateNotFound

我可能错了什么?

1 个答案:

答案 0 :(得分:0)

我创建了working plunker here。您的配置应该正常,只有'home'还应该定义模板 templateUrl

 $stateProvider
  .state('home', {
    url: '/',
    templateUrl: 'tpl.html',
    data: {
      authorizedRoles: [appconfig.USER_ROLES.guest]
    }
  })
  .state('test', {
      url: '/testing',
      templateUrl: 'views/test.html',
      data: {
        authorizedRoles: [appconfig.USER_ROLES.guest]
      }
  })

检查here