6-8.Vue-router之路由的钩子函数

本文详细介绍了Vue-router中的路由钩子函数,包括如何在路由配置文件和组件模板中定义钩子。在路由配置文件中,重点讨论了beforeEnter钩子,及其参数的用法,如控制路由跳转的next函数。而在组件模板中,提到了beforeRouteEnter和beforeRouteLeave两个钩子,分别用于路由进入前和离开前的操作。这些钩子函数对于管理和控制应用的导航流程至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Vue-router

Vue-router路由的钩子函数

一个组件从进入到销毁有很多的钩子函数,同样在路由中也设置了钩子函数。路由的钩子函数可以写在路由的配置文件,也可以写在组件模板中。

在路由配置文件(/src/router/index.js) 中写钩子函数:
{
	path:'/params/:newsId(\\d+)/:newsTitle',
	component:Params,
	beforeEnter:(to,from,next)=>{
	console.log("from对象",from)
	console.log("to对象:",to);
	next();
}

其中,有三个参数(to,from,next)

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

我们在程序中可以将tofrom对象打印出来

	console.log("from对象",from)
	console.log("to对象:",to);

from对象中的path:就是跳转前的路径,to对象中的path就是跳转后的路径。
在这里插入图片描述

注意!注意!注意!

这里有一个next()函数,相当于一个开关,有以下三种情况:

  • next(true):开口打开,可以进行跳转
  • next(false):开口关闭,不能进行下一个跳转
  • next({path:'跳转的路径'}):开口打开,跳到指定的路径
在组件模板写钩子函数

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

  1. beforeRouteEnter:在路由进入前的钩子函数。
  2. beforeRouteLeave:在路由离开前的钩子函数。

src/components/params.vue文件中写钩子函数:

<script>
	export default{
		data(){
			return {
				msg:'这是一个关于传递参数的简单测试'
			}
		},
		beforeRouteEnter:(to,from,next)=>{
			console.log("准备进入params页面")
			next();
		},
		beforeRouteLeave:(tox,from,next)=>{
			console.log("准备离开params页面")
			next();
		}
	}
</script>

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值