angularjs ui-router位置路径无法识别正斜杠

时间:2013-05-25 06:46:02

标签: angularjs angularjs-routing

我正在使用angular ui router / stateProvider。但是,在忽略第二个正斜杠之后,我设置了我的url任何部分,它总是发送到这个状态:

  $stateProvider.state('board', {
    url: "/:board",
    views: {
      'content': {
        templateUrl: '/tmpl/board',
        controller: function($scope, $stateParams, $location) {
          console.log('wat')
          console.log($location)
        }
      }
    }
  });

只有1个正斜杠。即使我去localhost/contacts/asdf以下状态也不会运行。

$ stateProvider.state(' test',{     url:" / contacts / asdf",     观点:{       ' main':{         templateUrl:' / tmpl / contacts / asdf',         controller:function(){           console.log('这在这里不起作用')         }       }     }   });

console ss 这是$ location的控制台日志。正如您所看到的,$ location仅识别url的最后一部分作为路径。据我所知,这是错误的。它错过了"联系人"就在它之前。任何URL都被解释为只有1个部分用于URL并发送到board状态。我该如何解决。感谢。

编辑:发现这是由角1.1.5引起的。回到1.1.4并没有这个。

2 个答案:

答案 0 :(得分:1)

这可能是原因:https://github.com/angular/angular.js/issues/2799。尝试添加基础href。

答案 1 :(得分:0)

看起来已修复AngularJS v1.0.7。刚试过它。