【问题标题】:hyperlink in the Angular App requires #! instead of just # [duplicate]Angular 应用程序中的超链接需要 #!而不仅仅是# [重复]
【发布时间】:2017-01-02 16:18:17
【问题描述】:

如果我指定如下路径,则使用锚标记在路线之间导航不起作用-

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

【问题讨论】:

    标签: javascript angularjs ngroute


    【解决方案1】:

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

    【讨论】:

    猜你喜欢
    • 2013-07-21
    • 2019-07-18
    • 1970-01-01
    • 1970-01-01
    • 2021-06-22
    • 2014-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多