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的值。

  • 相关阅读:
    UI和3D物体的堆叠响应
    UI中的事件系统EventSystem
    UI的管理
    学习笔记--2020年12月30日
    Java集合框架
    Java基本数据类型
    数据存储
    intent和手势探测
    即时消息Toast和对话框
    Android事件处理的三种方法
  • 原文地址:https://www.cnblogs.com/Elva3zora/p/12711285.html
Copyright © 2011-2022 走看看