是否可以在Angular.js应用程序中使用传统的锚链接

Fer*_*gie 6 javascript anchor angularjs

Angular.js路由创建如下URL:

http://cooldomain.com:3000/#/search

http://cooldomain.com:3000/#/docs

在我的docs url中,我想有一个带有<a name="sdsds">部分的长页面和带有锚链接的传统内容表,以便用户可以在页面上下跳跃

从概念上讲,目录会产生大量无效的URL,例如http://cooldomain.com:3000/#/docs#coolAPIFunction,由于双哈希,这当然不会起作用

那么是否可以在具有路由的Angular.js应用程序中使用锚链接?

Shu*_*Shu 1

您可以启用 html5 Pushstate 并删除路由中的#。您可以通过将其添加到您的 .config 来做到这一点

$locationProvider.html5Mode(true);

但是,请注意,现在 Angular 路由与服务器请求之间不再有区别。您必须配置服务器才能为该 url 提供适当的静态 html 文件(例如,index.html)。