zoukankan      html  css  js  c++  java
  • Vue-router 第10节 路由中的钩子

    Vue-router 第10节 路由中的钩子


    第10节 路由中的钩子

    我们知道一个组件从进入到销毁有很多的钩子函数,同样在路由中也设置了钩子函数。路由的钩子选项可以写在路由配置文件中,也可以写在我们的组件模板中。我们这节课就介绍这两种钩子函数的写法。

    路由配置文件中的钩子函数

    我们可以直接在路由配置文件(/src/router/index.js)中写钩子函数。但是在路由文件中我们只能写一个beforeEnter,就是在进入此路由配置时。

    先来看一段具体的代码:

    {
    	path:'/params/:newsId(\d+)/:newsTitle',
        component:Params,
        beforeEnter:(to,from,next)=>{
    	    console.log('我进入了params模板');
            console.log(to);
            console.log(from);
            next();
        }
    },
    

    我们在params路由里配置了bdforeEnter得钩子函数,函数我们采用了ES6的箭头函数,需要传递三个参数。我们并在箭头函数中打印了to和from函数。具体打印内容可以在控制台查看object。

    三个参数:

    1. to:路由将要跳转的路径信息,信息是包含在对象里边的;
    2. from:路径跳转前的路径信息,也是一个对象的形式;
    3. next:路由的控制参数,常用的有next(true)next(false)

    next(path:'/')还可以写路径,进行跳转

    写在模板中的钩子函数

    在配置文件中的钩子函数,只有一个钩子-beforeEnter,如果我们写在模板中就可以有两个钩子函数可以使用:

    • beforeRouteEnter:在路由进入前的钩子函数;
    • beforeRouteLeave:在路由离开前的钩子函数。
    export default {
      name: 'params',
      data () {
        return {
          msg: 'params page'
        }
      },
      beforeRouteEnter:(to,from,next)=>{
        console.log("准备进入路由模板");
        next();
      },
      beforeRouteLeave: (to, from, next) => {
        console.log("准备离开路由模板");
        next();
      }
    }
    </script>
    

    这是我们写在params.vue模板里的路由钩子函数。它可以监控到路由的进入和路由的离开,也可以轻易的读出to和from的值。

  • 相关阅读:
    iOS Xcode制作模板类
    图片变形的抗锯齿处理方法
    iOS 9 分屏多任务:入门(中文版)
    iOS应用国际化教程(2014版)
    GitHub Top 100 简介
    iOS @synthesize var = _var 变量前置下划线解释
    @synthesize obj=_obj的意义详解 @property和@synthesize
    git 教程(14)--解决冲突
    git 教程(13)--创建与合并分支
    C++基础知识(3)---new 和 delete
  • 原文地址:https://www.cnblogs.com/Elva3zora/p/12711285.html
Copyright © 2011-2022 走看看