欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

对Vue beforeRouteEnter 的next执行时机详解

程序员文章站 2022-03-07 17:05:13
背景 今天在用vue实现界面的时候,想在beforerouteenter钩子函数中去获取数据,然后通过next方法设置到跳转页面的实例中,结果发现数据一直没办法在界面渲染...

背景

今天在用vue实现界面的时候,想在beforerouteenter钩子函数中去获取数据,然后通过next方法设置到跳转页面的实例中,结果发现数据一直没办法在界面渲染的时候赋值,苦思不得其解,遂google之,终寻原因,记录之。

注意

beforerouteenter (to, from, next) {
 console.log(this); //undefined,不能用this来获取vue实例
 console.log('组件路由钩子:beforerouteenter');
 next(vm => {
  console.log(vm); //vm为vue的实例
  console.log('组件路由钩子beforerouteenter的next');
 });
 }
next(vm=>{console.log(‘next') }) 

这个里面的代码很晚执行,执行时机在组件mounted周期之后

拓展知识:对vue中的beforerouteenter()和beforerouteleave()的函数解释

1、beforerouteenter(to, from, next){

要执行的代码操作

next();

}

beforerouteenter:进入路由之前执行的函数。

next();   --》 必须有这个,相当于一个按钮开启一样。

2、beforerouteleave(to, from, next){

要执行的代码操作

next();

}

beforerouteleave:离开路由之前执行的函数。

next();   --》 必须有这个,相当于一个按钮开启一样。

以上这篇对vue beforerouteenter 的next执行时机详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。