1

我正在使用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", views: { 'main': { templateUrl: '/tmpl/contacts/asdf', controller: function () { console.log('this在这里不起作用') } } } });

控制台 ss 这是 $location 的控制台日志。如您所见,$location 仅将 url 的最后一部分识别为路径。据我所知,这是错误的。它缺少前面的“联系人”。任何 url 都被解释为只有 url 的 1 部分并发送到boardstate。我该如何解决。谢谢。

编辑:发现这是由角度 1.1.5 引起的。恢复到 1.1.4 没有这个。

4

2 回答 2

1

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

于 2013-05-27T22:44:38.793 回答
0

看起来在AngularJS v1.0.7中已修复。刚刚测试过了。

于 2013-06-10T23:34:19.207 回答