zoukankan      html  css  js  c++  java
  • vue-router的路由

    路由和组件是有区别的:组件一般是在同一个页面的不同模块,但是路由是直接切换到另一个页面,之前的页面销毁。

    App.vue中的router-view会渲染顶级路由匹配到的组件。组件内部嵌套的router-view会渲染子路由匹配到的组件。

    当路由跳转的时候,我们需要一些权限判断或者其他操作。这个时候就需要使用路由的钩子函数。
    定义:路由钩子主要是给使用者在路由发生变化时进行一些特殊的处理而定义的函数。
    总体来讲vue里面提供了三大类钩子
    1.全局守卫
    router.beforeEach 全局前置守卫 进入路由之前
    router.beforeResolve 全局解析守卫 在beforeRouteEnter调用之后调用
    router.afterEach 全局后置钩子 进入路由之后
    2.路由守卫
    router.beforeEnter进入路由之前
    3.组件守卫
    beforeRouteEnter 进入路由前
    beforeRouteUpdate 路由复用同一个组件时
    beforeRouteLeave 离开当前路由时

    完整的导航解析流程

    触发进入其他路由。
    调用要离开路由的组件守卫beforeRouteLeave
    调用局前置守卫:beforeEach
    在重用的组件里调用 beforeRouteUpdate
    调用路由独享守卫 beforeEnter。
    解析异步路由组件。
    在将要进入的路由组件中调用beforeRouteEnter
    调用全局解析守卫 beforeResolve
    导航被确认。
    调用全局后置钩子的 afterEach 钩子。
    触发DOM更新(mounted)。
    执行beforeRouteEnter 守卫中传给 next 的回调函数
    总结:除了router.afterEach是两个参数to,from以外,其他都是三个参数,to,from,next

  • 相关阅读:
    JDBC的PreparedStatement是什么?
    ArrayList、LinkedList、Vector 的区别。
    final finally finalize区别
    面向对象三大特性
    JDBC访问数据库的基本步骤是什么?
    报表中的地图怎么做?
    报表工具如何实现“点击查看原图”
    玩转报表排名之组内排名
    动态隐藏行
    OUT 了??还没玩转报表超链接
  • 原文地址:https://www.cnblogs.com/zhouyideboke/p/11187721.html
Copyright © 2011-2022 走看看