在chrome中删除Angular URL参数

时间:2015-12-09 22:15:46

标签: javascript angularjs parameters angular-ui-router

我使用Angular的ui-router在Angular中创建了一个路径。问题是,当我去的时候,只有铬,

http://localhost:9000/#/test-app/app/123

Chrome删除了我的参数并转到http://localhost:9000/#/test-app/app 这在任何其他浏览器中都不会发生。我需要在我的resolve语句中使用该参数。

我只需要123来自:id。 Chrome没有给我,但safari和firefox都可以。 Chrome仅在隐身模式下有效。

  .state('root.user-by-id', {
    url: 'test-app/app/:id',
    templateUrl: 'template.html',
    controller: 'DetailViewCtrl',
    controllerAs: 'detail',
    resolve: {
      puzzleById: function($stateParams, userAPI) {
        return userAPI.getUserByID($stateParams.id)
      }
    }
  })

2 个答案:

答案 0 :(得分:0)

尝试:

.state('root.user-by-id', {
   url: '/test-app/app/:id',

实际路由之前的斜线可能会导致问题

答案 1 :(得分:0)

编辑:对不起,我最初误解了这个问题。

我担心你的路线没有前面的" /"。我希望您的网址定义符合以下内容:

url: '/test-app/app/:id'

你能发布类似的路线吗?在尝试评估URL和状态时,您的客户端可能会错误地匹配错误/无效路由。