路由跳转

使用history.push() 方式进行路由跳转,会在浏览器中留下路由堆栈,浏览器可以通过这些一步步返回。

如果需要避免访问你的页面的时候产生history历史记录当,可以使用:

window.history.replaceState()

replaceState()方法使用state objects, title,和 URL 作为参数, 修改当前历史记录实体,如果你想更新当前的state对象或者当前历史实体的URL来响应用户的的动作的话这个方法将会非常有用。
历史记录实体的URL. 新的URL跟当前的URL必须是同源; 否则 replaceState 抛出一个异常.

//对当前history记录清除:此方法只是直接屏蔽或者针对内网(同源)地址间的跳转,并不进行跳转。
//需要搭配history.go(0)方法或者load方法进行页面跳转
window.history.replaceState(null,'', 'index.html');
window.history.go(0) 

使用history.replace(),用法跟push一样,不一样的地方是replace是替换当前的路由,也就是它不会在路由堆栈里新增记录

history.go() 方法里面的参数是数字,它的用处是如果你使用了push进行路由跳转,留下来的路由堆栈就可以使用go进行跳转

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容