![](/img/trans.png)
[英]URL address changing from localhost:3000/home to localhost:3000/home#_=_
[英]can anyone explain why (http://localhost:3000/#/home) # occurs inbetween the url
我是angular js和node js的新手,我有些怀疑,谁能解释为什么#出现在url(localhost:3000 /#/ home)之间
URL段中的#
表示用于自动跳转到长页面中该部分的标签ID。 如今,它已被java-script框架(例如angular)用于虚拟导航目的,即,在#
之后更改部分不会导致浏览器重新加载整个页面,并在内部使用哪个div
元素显示/隐藏在SPA(单页应用程序)。
当您在AngularJS中浏览单页应用程序时,这是较旧的浏览器不完全重新加载页面的一种方法。
它称为Hashbang,您可以在文档中阅读有关它的更多信息:
https://docs.angularjs.org/guide/$location#hashbang-and-html5-modes
这些称为Hashbang URL。 通常,我们在哈希号之后的所有内容都不是另一个URL,但它仍属于同一HTML页面。 随着JS库的增加和Web浏览器功能的增加,现在我们可以使用HTML5历史API替换URL。
该hashbang技术用作旧版浏览器的后备,即,整个应用程序在单个HTML页面上运行,并且Angular监视URL中的任何#哈希更改并触发适当的路由控制器。
我建议您阅读有关hashbang URL的更多信息: 做Twitter,Hash-Bang等链接! 网址
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.