你如何在角度ui路由器中使用继承的params?

时间:2013-11-15 21:13:53

标签: angularjs angular-ui-router

我有一个我希望在所有州都存在的URL参数。参数是'asUser',它允许管理员将应用程序视为另一个用户。我试过了:

$stateProvider
  .state("root", {
    params: ['asUser']
  })
  .state("root.login", {
    url: "/login",
    templateUrl: "/static/partials/login.html",        
    controller: 'LoginCtrl'
  })
  ...

但是当我转到网址/login?asUser=123时,我在控制台中收到此错误:

Failed to instantiate module myApp due to:
Missing required parameter 'asUser' in state 'root.login'

无论如何使用ui.router来获得这样的全局参数,而不必在每个州都提及它并将其传递到任何地方?

1 个答案:

答案 0 :(得分:2)

我愿意:

.state("root", {
    url: '/?asUser'
})

你仍然必须自己处理参数继承,但至少应该使该参数在所有状态下都有效。