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
  • 相关阅读:
    A1042 Shuffling Machine (20)
    【SSM 4】Mybatis逆向生成工具
    【SSM 4】Mybatis逆向生成工具
    【SSM 3】Mybatis应用,和Hibernate的区别
    【SSM 3】Mybatis应用,和Hibernate的区别
    【SSM 2】spring常用注解
    【SSM 2】spring常用注解
    【SSM 1】SpringMVC、Spring和Struts的区别
    【SSM 1】SpringMVC、Spring和Struts的区别
    【java基础 5】树形结构数据加载的思考
  • 原文地址:https://www.cnblogs.com/xiaofenghuang/p/13984690.html
Copyright © 2011-2022 走看看