我在AngularJS应用程序中启用了html5mode,因此我可以使用URL格式site.com/path
而不是site.com/#/path
访问路径。
但启用html5mode后,导航到哈希不能正常工作。当我通过Chrome导航到site.com/#hash
时,网址会自动更改为site.com/hash
。由于hash
不是服务器上的资源,因此此网址会导致加载默认的index.html文件,而不是滚动到hash
位置。
这似乎是一个非常简单的用例,但是如何使URL格式site.com/#hash
与AngularJS一样正常工作?
答案 0 :(得分:0)
我得到了以下工作:
从文档页面引用:
请注意,在IE9中解析具有$ location的相对路径时,删除标记的要求会产生不良副作用。
总结一下,Angular只会在中保留中的哈希片段:
requireBase:false
难怪人们发现很难掌握AngularJS:文档很薄弱,框架就像一个魔术黑盒子,可以控制你的应用程序远离你。