防止$ anchorScroll修改url

时间:2016-06-28 14:40:38

标签: angularjs url

我正在使用$anchorScroll滚动到页面顶部,其中html元素的标识为#brand

<body>
    <header id="brand">
        <!--Content-->
    </header>
</body>

AngularJS代码:

$location.hash("brand");
$anchorScroll();

但是,在$anchorScroll运行后,页面网址变为http://localhost:8080/##brand,这意味着##brand会附加到原始网址。使用$anchorScroll时如何保留原始网址?提前谢谢!

2 个答案:

答案 0 :(得分:10)

使用显式形式的$ anchorScroll似乎有效,至少在html5mode开启时。

(do not call $location.hash())
$anchorScroll('brand');

答案 1 :(得分:0)

无法阻止将哈希添加到URL中;你通过调用$location.hash("brand");明确地做到了这一点。但是,您可以通过在anchorScroll之后调用$location.hash(null);来删除它。