你们中有人知道如何在AngularJS 中很好地处理锚点哈希链接吗?
我有一个简单的常见问题解答页面的以下标记
<a href="#faq-1">Question 1</a>
<a href="#faq-2">Question 2</a>
<a href="#faq-3">Question 3</a>
<h3 id="faq-1">Question 1</h3>
<h3 id="faq-2">Question 2</h3>
<h3 id="fa1-3">Question 3</h3>
当单击上述任何链接时,AngularJS 会拦截并将我路由到一个完全不同的页面(在我的情况下,是一个 404 页面,因为没有与链接匹配的路由。)
我的第一个想法是创建一个匹配“ /faq/:chapter ”的路由,并在相应的控制器中检查$routeParams.chapter
匹配的元素,然后使用 jQuery 向下滚动到它。
但随后 AngularJS 又对我大发雷霆,无论如何都滚动到页面顶部。
那么,这里有人过去做过类似的事情并且知道一个好的解决方案吗?
编辑:切换到 html5Mode 应该可以解决我的问题,但无论如何我们都必须支持 IE8+,所以我担心这不是一个可以接受的解决方案:/