Vue路由守卫beforeRouteEnter操作data数据
当我们希望每次进入模块都会执行某些操作,那么就可以用beforeRouteEnter。通常我们需要在beforeRouteEnter中设置data数据的值或执行实例的方法。但在beforeRouteEnter中通过this是获取不到实例的解决方法:beforeRouteEnter(to, from, next) {console.log("beforeRouteEnter");next((vm)
·
当我们希望每次进入模块都会执行某些操作,那么就可以用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方法的函数中咯
更多推荐
已为社区贡献2条内容
所有评论(0)