扫码关注官方订阅号
我在自己实现路由的时候都是用的#后边接路径,但是我想知道现在的框架为什么可以不用#,直接用/就实现路由的呢?不带#直接用/不会跳到新页面吗?那样就不是单页面应用了啊??
#
/
学习是最好的投资!
可以使用/呀,可以使用history.replaceState/pushState这套history的API来修改页面URL而不跳新页面。比如ReactJS中就提供了Router.HistoryLocation来做这家事情。
history.replaceState/pushState
Router.HistoryLocation
具体细节请参考:
操纵浏览器的历史记录 - MDN
再谈 React Router 使用方法
HTML5 history API
通常前端处理url地址,也就是你这里说的路由,采用#,页面不会刷新。当然,现在可以结合history的popstate相关的可以实现页面内容的更新(注意,还是可以做到内容不刷新)。
路由控制一般是后端配合,如果你真要想前端通过/,而不是#实现不刷新更新内容的话,需要后端配合。
注意这里,一个需要后端端配合,一个不需要后端配合,这里说的是路由控制。
这个需要了解下后端路由控制处理,就可以知道为什么可以。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
可以使用
/呀,可以使用history.replaceState/pushState这套history的API来修改页面URL而不跳新页面。比如ReactJS中就提供了
Router.HistoryLocation来做这家事情。具体细节请参考:
操纵浏览器的历史记录 - MDN
再谈 React Router 使用方法
HTML5 history API
通常前端处理url地址,也就是你这里说的路由,采用
#,页面不会刷新。当然,现在可以结合history的popstate相关的可以实现页面内容的更新(注意,还是可以做到内容不刷新)。路由控制一般是后端配合,如果你真要想前端通过
/,而不是#实现不刷新更新内容的话,需要后端配合。注意这里,一个需要后端端配合,一个不需要后端配合,这里说的是路由控制。
这个需要了解下后端路由控制处理,就可以知道为什么可以。