zoukankan      html  css  js  c++  java
  • vue-router

    一、导航解析流程

    1 导航被触发

    2 在失活的组件里调用离开守卫beforeRouteLeave(to,from,next)

    3 调用全局前置守卫 beforeEach(to,from,next)

    4 在复用的组件里调用beoreRouteUpdate(to,from,next)

    5 在路由配置里调用路由独享的守卫beforeEnter()

    6 解析异步路由组件

    7 在被激活的组件里调用beforeRouteEnter(to,from,next)

    8 调用全局解析组件beforeResolve

    9 导航被确认

    10 调用全局后置守卫afterEach()

    11 触发DOM更新

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

    二、路由守卫分类

    1 全局前置守卫  beforeEach

    2 全局后置守卫 afterEach

    3 全局解析守卫 beforeResolve

    4 路由专享守卫 beforeEnter

    5 组件内守卫 beforeRouteEnter,beforeRouteUpdate,beforeRouteLeave

    三、vue-router的两种模式

      分别是hash模式和history模式

      1 hash模式,就是url中带#号的模式,#号以及#号后面的为url的hash,通过location.hash获取;

      hash模式的实现原理是onhashchange事件,通过监听这个事件来触发页面的更新

      典型的应用网站有网易云音乐

      2 history模式,更好看的url显示,没有#

      history是通过history api实现的,在HTML5中添加了pushstate(),replacestate()两个方法,顾名思义是向浏览器历史状态中添加状态或修改状态

      当修改或者添加状态后,进行浏览器动作时,就会触发popstate事件,以此来更新页面

      需要后端配合处理404问题

      

      

      

  • 相关阅读:
    01-Django 简介
    函数及函数的嵌套等
    循环及循环嵌套
    运算符
    if, elif, else及if嵌套
    变量及变量计算和引用
    Python的3种执行方式
    Jmeter设置默认中文启动
    Vysor
    python基础学习(二)
  • 原文地址:https://www.cnblogs.com/linhongjie/p/12459711.html
Copyright © 2011-2022 走看看