zoukankan      html  css  js  c++  java
  • 2020VUE常考-路由

    一:Vue-router有几种钩子函数?具体是什么及执行流程是怎样的?

    核心答案:

    路由钩子的执行流程,钩子函数种类有:全局守卫、路由守卫、组件守卫。

    完整的导航解析流程

    1.导航被触发;

    2.在失活的组件里调用beforeRouteLeave守卫;

    3.调用全局beforeEach守卫;

    4.在复用组件里调用beforeRouteUpdate守卫;

    5.调用路由配置里的beforeEnter守卫;

    6.解析异步路由组件;

    7.在被激活的组件里调用beforeRouteEnter守卫;

    8.调用全局beforeResolve守卫;

    9.导航被确认;

    10.调用全局的afterEach钩子;

    11.DOM更新;

    12.用创建好的实例调用beforeRouteEnter守卫中传给next的回调函数。

    二:vue-router 两种模式的区别?

    核心答案:

    vue-router 有 3 种路由模式:hash、history、abstract。

    1) hash模式:hash + hashChange

    特点:hash虽然在URL中,但不被包括在HTTP请求中;用来指导浏览器动作,对服务端安全无用,hash不会重加载页面。通过监听 hash(#)的变化来执行js代码 从而实现 页面的改变。 

    核心代码:

    window.addEventListener(‘hashchange‘,function(){
    
        self.urlChange()
    
    })

    2) history模式:historyApi + popState

    HTML5推出的history API,由pushState()记录操作历史,监听popstate事件来监听到状态变更;

    因为 只要刷新 这个url(www.ff.ff/jjkj/fdfd/fdf/fd)就会请求服务器,然而服务器上根本没有这个资源,所以就会报404,解决方案就 配置一下服务器端。

    说明:

    1)hash: 使用 URL hash 值来作路由。支持所有浏览器,包括不支持 HTML5 History Api 的浏览器;

    2)history : 依赖 HTML5 History API 和服务器配置。具体可以查看 HTML5 History 模式;

    3)abstract : 支持所有 JavaScript 运行环境,如 Node.js 服务器端。如果发现没有浏览器的 API,路由会自动强制进入这个模式.

    来自VUE中文社区公众号 https://mp.weixin.qq.com/s/60HI-CM1GhqDG5zeTFSOrw

    小凤凰newObject
  • 相关阅读:
    php DOC类型注释的用法
    Mysql 数据库更新错误
    Smarty初体验二 获取配置信息
    Smarty 模板初体验
    去网络视频广告方法——虽过时,但效果依然很好(亲测)
    织梦模板修改方法大全
    dede织梦:文章内容页调用
    织梦系统学习:文章页当前位置的写法(自认对SEO有用)
    ZOJ 3229 Shoot the Bullet
    URAL 1277 Cops and Thieves
  • 原文地址:https://www.cnblogs.com/xiaofenghuang/p/13984690.html
Copyright © 2011-2022 走看看