美文网首页
Vue Router Hash模式和History模式的区别

Vue Router Hash模式和History模式的区别

作者: hao102 | 来源:发表于2021-11-25 21:45 被阅读0次

    表现形式不同

    hash模式路径里带有#号;符号后边是路由路径;history模式是一个正常的url;

    // hash
    http://www.example.com/#/router1?id=3333
    //history
    http://www.example.com/#/router/3333
    

    原理区别

    hash:基于锚点作为路由地址以及onhashchange事件监听锚点变化;根据当前路由地址找到对应组件重新渲染
    history模式是基于HTML5中的History API实现的

    • history.pushState();通过history.pushState()方法改变地址栏 //IE10以后才支持
    • 监听popstate事件;pushState方法和replaceState并不会触发popState;在使用浏览器的前进后退,history.back(),history.forward()会触发该事件
    • 根据当前路由地址找到对应组件重新渲染

    history模式需要服务器的支持;在服务器端除了静态资源外都返回项目中的根路径

    相关文章

      网友评论

          本文标题:Vue Router Hash模式和History模式的区别

          本文链接:https://www.haomeiwen.com/subject/bqmztrtx.html