ui-router没有在angular中生成正确的href属性

时间:2014-10-31 05:27:14

标签: angularjs angular-ui-router

$stateProvider
  .state('admin', {
    abstract: true,
    url: '/admin',
    template: '<div ui-view></div>'
  })


<a ui-sref="admin">admin</a>

当我 <a href="/admin">admin</a>时,我得到的网址为/#/admin - 当我点击链接在新标签页中打开时,这会中断。

2 个答案:

答案 0 :(得分:1)

这是一个已知问题,报告为错误。将在下一个版本中修复。这是一个解决方法:

Impossible to disable html5Mode with angular 1.3.0-rc.3 #1397

  

由于:

     

angular/angular.js@dc3de7f

     

urlRouter.js [第383行]中的html5mode-check不再正确。因此,禁用html5mode是不可能的。

     

快速修复可能是:

var isHtml5 = $locationProvider.html5Mode();
if (angular.isObject(isHtml5)) {
  isHtml5 = isHtml5.enabled;
}

Chris T UI-Router团队成员)也有建议 - 请参阅此Q & A下的评论

  

暂时使用预发布版本0.2.12-pre1。 bit.ly/UIR-0212pre1 ...它有一些针对1.3.0 compat的修复。 - Chris T 10月16日16:13

答案 1 :(得分:0)

尝试在$locationProvider中设置html5Mode

$locationProvider.html5Mode(true);

另外,我发现这个问题,可能是相关的(我不知道你使用的是哪个版本):

Impossible to disable html5Mode with angular 1.3.0-rc.3