HTML5教程

前端路由原理

本文主要是介绍前端路由原理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

前端路由,url的匹配处理在前端页面进行,而不向后端请求。在页面不刷新的情况下,更改页面内容的手段。

首先url更改时,页面不能刷新,不然肯定会向服务器发送请求。这里就有两个基础的方法可以做到,window.location和window.history

1. window.location

location.href:完整的网址

location.hash: hash值虽然出现在url中,但不会被包含在http请求中,是 URL 中 hash (#) 及后面的那部分,常用作锚点在页面内进行导航,因此改变hash值不会重新加载页面

location.replace(url):不会将新的url添加到浏览器访问历史中,而是替换掉当前的url
每次改变location.hash值,都会在浏览器访问历史中增加一个记录
可以通过hashchange事件来监听hash值的变化

 

2. window.history

history.go(),history.back()

通过浏览器前进后退改变 URL 时 ,将触发popstate事件。

history.pushState 修改当前url,会再浏览器访问历史中增加一个记录

history.replaceState 替换当前url,不会增加浏览器访问历史记录

调用history.pushState()或history.replaceState()修改url时不会触发popstate事件,浏览器不会刷新页面

 

history模式和hash模式除了监听的事件不同,改变url的方式不同,之后的处理是一样的

这篇关于前端路由原理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!