美文网首页
vue-router 面试回答

vue-router 面试回答

作者: 姜酱i | 来源:发表于2022-05-06 15:16 被阅读0次

    1.路由有三种模式分别是:

    a.hash:URL采用hash值作为路由,变现为#/a
    b.history:依赖 HTML5 History和服务器配置
    c.abstract:支持所有 JavaScript 运行环境,如Node.js 服务器端。如果发现没有浏览器的 API,路由会自动强制进入这个模式。

    2.hash模式通过window.location.hash的改变,监听window.onhashchange的变化在路由变化的时候去渲染页面,不会向服务器发送请求

         window.addEventListener('onhashchange',()=>{
          //dosomething 
         })
    

    3.history模式通过window.onpopstate方法监听window.history(go、forward、back)等方法的变化去更新视图,会向服务器发送请求需要服务器配置(例如nginx配置index),window.history.pushState(replaceState)只会刷新url不会刷新视图,但是会改变页面栈.

          window.addEventListener('popstate', function (e) {
             let goHref = window.location.href;
             console.log('即将跳转目标路径为:', goHref );
             // 走到这一步,页面还没有跳转
          });
    

    相关文章

      网友评论

          本文标题:vue-router 面试回答

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