简单回顾一下vue基础部分

  • 动态路由匹配

    • 路由配置方法

      export default new Router({
      routes: [
      {
      path: '/router01/:name',
      name: 'RainRouter01',
      component: RainRouter01
      }
      ]
      })
    • 路由参数获取方式
      <template>
      <div>{{$route.params.name}}</div>
      </template>
  • 嵌套路由
    • 在 VueRouter 的参数中使用 children 配置

      children: [
      {
      path: 'Child01',
      name: 'Child01',
      component: Child01
      }, {
      path: 'Child02',
      name: 'Child02',
      component: Child02
      }
      ]

      注意: 其parent的 template 必须有<router-view>标签

  • 路由导航
    • 声明式:  通过<router-link to:>标签的to属性
    • 编程式:
      • router.push()
      • router.replace()
      • go()
  • 命名路由
    • 在路由上添加name属性
    • <router-link :to="{ name: 'child01', params: { name:child01}}">User</router-link>

      或者

    • router.push({ name: 'child02', params: { name: child02 }})

      的方式 为路由传递参数

  • 命名视图
  • <router-view></router-view>
    <router-view name="child"></router-view>
    <router-view name="b"></router-view
    {
    path: '/',
    components: {
    default: Foo,
    a: Bar,
    b: Baz
    }
    }
    • 通过视图的name 属性完成同一个路由下的多个组件  注意:components  而不是component  

  • 重定向和别名
    • 重定向 通过配置 redirect实现
    • 别名 通过alias 属性实现

现在开始进阶方面的讲解

  1. 导航钩子
  2. beforeRouteEnter
    beforeRouteUpdate (2.2 新增)
    beforeRouteLeave

    每个钩子函数都有三个参数

    to: Route: 即将要进入的目标 路由对象
    
    from: Route: 当前导航正要离开的路由
    
    next: Function: 一定要调用该方法来 resolve 这个钩子。执行效果依赖 next 方法的调用参数。
    
        next(): 进行管道中的下一个钩子。如果全部钩子执行完了,则导航的状态就是 confirmed (确认的)。
    
        next(false): 中断当前的导航。如果浏览器的 URL 改变了(可能是用户手动或者浏览器后退按钮),那么 URL 地址会重置到 from 路由对应的地址。
    
        next('/') 或者 next({ path: '/' }): 跳转到一个不同的地址。当前的导航被中断,然后进行一个新的导航。

vue-router 进阶的更多相关文章

  1. vue Router——进阶篇

    vue Router--基础篇 1.导航守卫 正如其名,vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航.有多种机会植入路由导航过程中:全局的, 单个路由独享的, 或者组件级的 ...

  2. 「进阶篇」Vue Router 核心原理解析

    前言 此篇为进阶篇,希望读者有 Vue.js,Vue Router 的使用经验,并对 Vue.js 核心原理有简单了解: 不会大篇幅手撕源码,会贴最核心的源码,对应的官方仓库源码地址会放到超上,可以配 ...

  3. Vue 2.0 + Vue Router + Vuex

    用 Vue.js 2.x 与相配套的 Vue Router.Vuex 搭建了一个最基本的后台管理系统的骨架. 当然先要安装 node.js(包括了 npm).vue-cli 项目结构如图所示: ass ...

  4. vue router 只需要这么几步

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  5. Vue.js 2.x笔记:路由Vue Router(6)

    1. Vue Router简介与安装 1.1 Vue Router简介 Vue Router 是 Vue.js 官方的路由管理器.它和 Vue.js 的核心深度集成,构建单页面应用. Vue Rout ...

  6. Vue Router学习笔记

    前端的路由:一个地址对应一个组件 Vue Router中文文档 一.路由基本使用 第1步:导入Vue Router: <script src="https://unpkg.com/vu ...

  7. vue router.push(),router.replace(),router.go()和router.replace后需要返回两次的问题

    转载:https://www.cnblogs.com/lwwen/p/7245083.html https://blog.csdn.net/qq_15385627/article/details/83 ...

  8. 前端MVC Vue2学习总结(八)——Vue Router路由、Vuex状态管理、Element-UI

    一.Vue Router路由 二.Vuex状态管理 三.Element-UI Element-UI是饿了么前端团队推出的一款基于Vue.js 2.0 的桌面端UI框架,手机端有对应框架是 Mint U ...

  9. 深入浅出的webpack4构建工具---webpack+vue+router 按需加载页面(十五)

    1. 为什么需要按需加载? 对于vue单页应用来讲,我们常见的做法把页面上所有的代码都打包到一个bundle.js文件内,但是随着项目越来越大,文件越来越多的情况下,那么bundle.js文件也会越来 ...

  10. 深入浅出的webpack构建工具--webpack4+vue+router项目架构(十四)

    阅读目录 一:vue-router是什么? 二:vue-router的实现原理 三:vue-router使用及代码配置 四:理解vue设置路由导航的两种方法. 五:理解动态路由和命名视图 六:理解嵌套 ...

随机推荐

  1. bootstrap-3-上传图片-列表显示

    效果 导入的js和css <!-- 最新版本的 Bootstrap 核心 CSS 文件 --> <link rel="stylesheet" href=" ...

  2. Java之线程池深度剖析

    1.线程池的引入   引入的好处:   1)提升性能.创建和消耗对象费时费CPU资源   2)防止内存过度消耗.控制活动线程的数量,防止并发线程过多.   使用条件:      假设在一台服务器完成一 ...

  3. SQL Server里如何处理死锁

    在今天的文章里,我想谈下SQL Server里如何处理死锁.当2个查询彼此等待时会发生死锁,没有一个查询可以继续它们的操作.首先我想给你大致讲下SQL Server如何处理死锁.最后我会展示下SQL ...

  4. bootstrap table 的简单Demo

    暂时够用,不够用再补充 T_T script: <link rel="stylesheet" href="lib/bootstrap.min.css"&g ...

  5. 通过__block的作用深入研究block

    block普通引用 默认情况下,在block中访问外部变量是通过复制一个变量来操作的,既可以读,但是写操作不对原变量生效,下面通过代码来举证 NSString *a = @"testa&qu ...

  6. Jmeter也能IP欺骗!

    之前有小伙伴问到jmeter有没有和loadrunner一样的ip欺骗功能,这篇文章介绍一下什么是ip欺骗,他有什么用,咱们用jmeter的时候,ip欺骗怎么做.     ip欺骗是什么?    ip ...

  7. mysql中实现字符串分割sp_split

      sp_split : DELIMITER $$ CREATE DEFINER = 'test_user'@'%' PROCEDURE sp_split (IN p_str varchar(2000 ...

  8. [U3D Demo] 手机飞机大战

    游戏截图 使用插件 DOTween NGUI 游戏介绍 游戏使用C#开发,素材是<全民飞机大战>中提取出来的,该游戏最早是去年由Flash Air+Starling开发的Demo,后来我修 ...

  9. Linux好用的工具命令 - rz/sz

    Linux系统中将本地的文件上传到服务器或者从服务器上下载文件到本地可以通过安装lrzsz工具来简单便利的完成. >>RZ :将本地的文件上传到服务器 >>SZ:从服务器上下载 ...

  10. js实现根据文本下标位置添加特殊标识

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...