vue中常用的两种路由模式

我们vue中常用的两种路由模式:hash路由模式和history路由模式。

hash模式:

1、hash路由模式是比较好区分的,凡是我们的url后带有“#”的都属于hash模式;

2、hash“#”后的值,不会包含在http请求中,改变hash的值不会引起页面的重新加载(他是前端路由交互处理,#后面hash值变化不会导致浏览器像服务器发送请求,浏览器不发送请求,也就不会刷新页面);

3、hash原理:onhashchange事件,可以在window对象上监听这个事件(每次hash值的变化,都会出发hashchange事件,通过这个事件我们就可以知道hash值发生了哪些变化,通过监听hashchange来实现更新页面部分内容操作)

4、hash可以兼容到ie8以上

5、会创建hashhistory对象,在访问不同的路由会发生两种事件:hashhistory.push():将新的路由添加到浏览器访问的历史栈顶,hashhistory.replace()替换到当前栈

history模式:

1、url不带参数,所以看起来比较美观;

2、history依赖于前后端交互,即将url修改的就和正常请求的后端url一样,如后端没有配置对应的/user/id的路由处理,就会返回404错误;

3、history原理:onpopstate事件,当浏览器跳转到新的状态时会触发popstate事件;

4、history可以兼容到ie10;

博主常用的是hash模式,因为history更多的去依赖于前后端的交互,所以个人也不过多推荐使用history模式

你可能感兴趣的:(vue,vue.js,前端)