你们中有人知道如何在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+,所以我担心这不是一个可接受的解决方案:/