繁体   English   中英

谁能解释为什么(http:// 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM