当我们希望每次进入模块都会执行某些操作,那么就可以用beforeRouteEnter。通常我们需要在beforeRouteEnter中设置data数据的值或执行实例的方法。但在beforeRouteEnter中通过this是获取不到实例的

解决方法:

beforeRouteEnter(to, from, next) {
	console.log("beforeRouteEnter");
	next((vm) => {
		//这时vm相当于平时同时通过this获得的实例对象
		console.log("vm", vm);
		console.log("mydata==》", vm.mydata);//获取数据
		vm.mydata='xxx';//修改数据
		vm.myfunction();//执行方法
	});
}

代码中的vm就相当于平时同时通过this获得的实例对象,所以要操作到data数据或方法的内容就要写在next方法的函数中咯

Logo

前往低代码交流专区

更多推荐