Angular 应用程序中的超链接需要 #!而不仅仅是#

hyperlink in the Angular App requires #! instead of just #

如果我指定如下路径,则使用锚标记在路由之间导航是行不通的-

<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 版本,之前没遇到过这个问题

在您的配置函数中使用 $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