前端路由

实现前端路由的目的是:当URL改变时,页面不刷新,页面内容被重新渲染。前端路由的实现有两种,分别是hash路由browser路由

hash路由

对于一个URL: http://www.a.com:5000/b/c/?id=xxx#d,这里#及其后面的部分称为hash,hash路由就是改变这一数值而不引起刷新实现的。具体方法:

在标签里设置链接指向新的路由

<a href="#/a">

利用window对象监听“hashchange”这一事件

window.addEventListener('hashchange',function(event){})

然后针对不同的路由进行对应的响应处理。

browser路由

browser路由是基于history对象实现的。history中有pushState()和replaceState()方法。

history.pushState()方法接受三个参数,状态对象(一个javascript对象),标题(未来可能用到的参数),URL。
*pushState不会触发hashchange事件

上一篇:前端路由方式—Hash路由和History路由


下一篇:An illegal reflective access operation has occurred