为什么我们需要在哈希导航URL中使用爆炸标记?
我们正在开发带有哈希标记导航的SPA。在另一个SPA网站上看到存在散列标记URL,例如http://example.com/#!/users 我们的应用程序当前实施散列标记URL而没有! (砰,感叹号)像http://example.com/#/users 是否有一些在URL中使用爆炸标记的原因?我检查了几个SO问题,一些文档: URL hash-bang (#!/) prefix instead of simple hash (#/) in Angular 1.6 人们希望摆脱他们的SPA中的感叹号。为什么我们需要在哈希导航URL中使用爆炸标记?
然而,角度更新日志指出这是显著的变化添加砰大关网址: https://github.com/angular/angular.js/blob/master/CHANGELOG.md#location-due-to
谷歌的文档还显示了感叹号的例子: https://developers.google.com/webmasters/ajax-crawling/docs/getting-started
我的主要问题是 - 什么我们需要哈希URL中的感叹号?这有什么意义吗?
在此先感谢您的答案!
由于@ceving已经解释了原因是为了避免与元素id冲突。如果你看看下面的例子,并考虑例如一个名为“main”的角度控制器,那么应该如何解释URL会产生冲突。
如果你点击“转到主”,你会看到光标跳跃,否则它不会。
<a href="#main">Goto Main</a>
<a href="#!main">Open Main Controller</a>
<p id="main">I am main!</p>
感谢您的澄清。希望我能标出不止一个正确的答案。但是,唉......绿色选中标记作为第一个正确的答案。然而你的加入也是非常有价值的! –
他确实应该得到这个答案。我也认为我只是一个补充,而不是替代。 – Toxantron
这可能会帮助你https://stackoverflow.com/questions/46439079/is-there-a-way-using-angular-ui-router-not-show-login/ 46440162#46440162 – Raghav
谢谢,拉格哈夫,为您的及时答案。但我的主要问题不是“如何摆脱Angular应用程序中的爆炸标记”,我们的SPA甚至不是Angular驱动的,它使用它自己的JS框架,但是“为什么我们需要在SPA URL的散列部分中感叹号?”我很好奇我们是否真的需要在URL中添加感叹号。如果是这样,为什么? –
它提供了Angular应用程序的深层链接功能..请通过这个https://stackoverflow.com/questions/40478676/i-am-using-angular-and-my-url-always-has-a-exclamation-mark/40478862 .. – Raghav