vue如何在beforeRouterEnter中获取this和操作data或者methods中的数据或方法



<template> <div class="home"> {{ msg }} {{ getMsg() }} </div> </template> <script> export default { name: "Practice", data() { return { msg: "pratice", }; }, methods: { getMsg() { return "getMsg" + this.msg; }, }, beforeRouteEnter(to, from, next) { console.log("beforeRouteEnter"); console.log("thisInBeforeRouteEnter", this); next((vm) => { console.log("thisInBeforeRouteEnterNext", this); console.log("vm", vm); console.log("dataDataInBeforeRouteEnter ", vm.msg); console.log(vm.getMsg()); }); }, created() { console.log("created"); console.log("thisInCreated", this); }, mounted() { console.log("mounted"); console.log("thisInMounted", this); }, destroyed() {}, }; </script>

在beforeRouteEnter中获取不到this,操作不了data或methods中的数据和方法

执行顺序是beforeRouteEnter---->created---->mounted----->beforeRouterEnternext(),可以通过给next一个回调,就可以获取像this一样操作数据和调用方法了

打印结果

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM