有人能解释一下为什么(http://localhost:3000/#/home) #出现在url之间吗?

can anyone explain why (http://localhost:3000/#/home) # occurs inbetween the url

本文关键字:home 之间 url 能解释 一下 为什么 localhost http 3000      更新时间:2023-09-26

我是angular js和node js的新手,我有一些疑问,谁能解释为什么#出现在url(localhost:3000/#/home)之间

URL段中的#表示用于在长页面中自动跳转到该部分的标记id。现在,这被java脚本框架如angular用于虚拟导航目的,即改变#后的部分不会导致浏览器重新加载整个页面,并在内部使用div元素在SPA(单页应用程序)中显示/隐藏

当你在AngularJS中浏览单页应用程序时,旧浏览器可以不完全重载页面。

它被称为Hashbang,您可以在文档中阅读更多信息:

https://docs.angularjs.org/guide/$位置# hashbang-and-html5-modes

这些被称为Hashbang url。一般来说,hash#之后的任何东西都不是另一个URL,但它仍然属于同一个HTML页面。随着JS库的不断增加和web浏览器功能的不断增强,现在我们可以使用HTML5历史API来替换url。

这种hashbang技术被用作旧浏览器的备用方案,也就是说,整个应用程序运行在单个HTML页面上,Angular会监视URL中的任何# hash变化,并触发相应的路由控制器。

我建议你阅读更多的hashbang url:做链接,比如Twitter, hashbang #!url # 39; s