gpt4 book ai didi

ruby-on-rails - 如何在 angularjs 中使用原生 anchor 链接

转载 作者:行者123 更新时间:2023-12-04 19:50:05 24 4
gpt4 key购买 nike

我在相当大的平面文档页面上使用 angularjs。该页面有一些导航,旨在使用传统的 url 哈希链接。网址如下所示:

/documentation/flat#26166276-basic-events

一旦导航发生并且我已经点击了下一页,这些 url 就会被重写。 Angular 初始化为类似:/documentation/flat#/26166276-basic-events

这会破坏导航。如果我已经在 /documentation/flat 路径上并点击其中一个哈希 url,它似乎可以工作。它被重写,但浏览器仍然关注页面的正确部分。

但是,如果哈希 url 是从不同的路径触发的,那么当 angularjs 重写发生时,浏览器将不会关注正确的 DOM 元素。

编辑:这是链接标记的样子

<a href="/documentation/flat#26166276-basic-events">Basic Events</a>

<h1 class="chap-header" id="26166276-basic-events">2.1.0 Basic Events</h1>

最佳答案

这里进一步讨论了这个话题:

How to handle anchor hash linking in AngularJS

我使用了那个线程的变体

if $location.$$url[0]== '#'
$location.hash($location.$$url.replace('#', ''))
$anchorScroll()

这基本上让我可以在任何 anchor 链接前加上一个额外的 # 并且 angularjs 将它们视为传统 anchor

关于ruby-on-rails - 如何在 angularjs 中使用原生 anchor 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20131453/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com