如何在Ui中设置相对路径 - 路由器?

时间:2015-08-15 23:21:41

标签: angularjs angular-ui-router

我们有角度应用程序,所有链接都是相对路径。 我们正在使用Ui-Router。 我们如何使用multipe"令牌来映射网址"并仍然预先设置基本URL?

例如: 无论状态网址是" / users"或" / users /:id" ,我希望相对路径为" /"。对于"用户",相对路径为" /",但对于" / users /:id"相对路径是" / users"。

我不想使用绝对路径,因为它毁了我们的构建。

这是我们的配置:

.state('home', {
    url: '/users',
    templateUrl: 'res/users/home.tpl.html'
  }).state('user', {
    url: '/users/:userID',
    templateUrl: 'res/users/user.tpl.html',
    controller: 'viewUserController as ctrl'
  })

尝试访问/ users,从/中加载所有资源,同时尝试访问/ users /:userId,从./users加载所有资源(在index.html中定义)。

1 个答案:

答案 0 :(得分:0)

我认为使用嵌套状态可能会给你带来理想的效果。我将您的第一个州重命名为用户,并使另一个州成为其子女。我希望这是有帮助的。我认为像这样嵌套状态会建立你所希望的两个状态之间的相对路径关系。

  .state('users', {
    url: '/users',
    templateUrl: 'res/users/home.tpl.html'
  })
  .state('users.user', {
    url: '/:userID',
    templateUrl: 'res/users/user.tpl.html',
    controller: 'viewUserController as ctrl'
  })