我们正在使用哈希标记导航开发SPA。在另一个SPA网站上看到有像http://example.com/#!/users这样的哈希标记网址 我们的应用程序目前没有实现哈希标记URLS! (bang,感叹号),如http://example.com/#/users 在URL中使用爆炸标记是否有某些原因?我检查了几个SO问题,一些文档: URL hash-bang (#!/) prefix instead of simple hash (#/) in Angular 1.6 人们希望在他们的SPA中消除感叹号。
但是,Angular Changelog声明在URL中添加bang标记是一个重大变化: https://github.com/angular/angular.js/blob/master/CHANGELOG.md#location-due-to
Google的文档还会显示带惊叹号的示例: https://developers.google.com/webmasters/ajax-crawling/docs/getting-started
我的主要问题是 - 我们在哈希网址中需要感叹号吗?它有意义吗?
提前感谢您的回答!
答案 0 :(得分:3)
由于 @ceving 已经解释过,原因是避免与元素ID冲突。如果你看下面的例子并考虑使用一个名为" main"的角度控制器。关于如何解释URL会有冲突。
如果您点击"转到主要"你看到光标跳跃,否则就不会。
<a href="#main">Goto Main</a>
<a href="#!main">Open Main Controller</a>
<p id="main">I am main!</p>
&#13;
答案 1 :(得分:2)