Angular App中的超链接需要#!而不只是#

时间:2017-01-02 16:18:18

标签: javascript angularjs ngroute

如果我指定如下所示的路径,则使用锚标记在路线之间导航 -

<a href="#/link1">Go to link1</a>

相反,如果我指定下面的路径,它的工作原理

<a href="#!/link1">Go to link1</a>

使用AngularJS 1.6.1版本。浏览器IE 11.0。为什么会这样?我之前使用过AngularJS 1.2 -1.3版本,但之前没有遇到过这个问题。

1 个答案:

答案 0 :(得分:0)

在配置函数中使用$ urlRouterProvider.rule对url进行一些转换,如下所示:

$urlRouterProvider.rule(function ($injector, $location) {
    var path = $location.path(),
        normalized = path.replace('!/', '');
        if (path !== normalized) {
            return normalized;
        }
});

您可以点击以下链接

Angular force an undesired exclamation mark in url

angular url is adding unwanted characters