扫码关注官方订阅号
beforeRouteEnter (to, from, next) { next(vm => { // 通过 `vm` 访问组件实例 }) }
文档写着通过vm访问组件实例,但是我的是export default {} 来创建组件的,如何获取到当前组件this。
小伙看你根骨奇佳,潜力无限,来学PHP伐。
beforeRouteEnter是组件的路由钩子,是写在组件里的。
export default { data(){ return { num: 18 } }, beforeRouteEnter(to, from, next){ next(vm=>{ vm.num=19; }) } }
貌似vue-router 2.2.0有一个beforeRouteUpdate钩子可以直接访问this
so, 只能用vm访问组件实例
官方文档
const Foo = { template: `...`, beforeRouteEnter (to, from, next) { // 在渲染该组件的对应路由被 confirm 前调用 // 不!能!获取组件实例 `this` // 因为当钩子执行前,组件实例还没被创建 }, beforeRouteUpdate (to, from, next) { // 在当前路由改变,但是该组件被复用时调用 // 举例来说,对于一个带有动态参数的路径 /foo/:id,在 /foo/1 和 /foo/2 之间跳转的时候, // 由于会渲染同样的 Foo 组件,因此组件实例会被复用。而这个钩子就会在这个情况下被调用。 // 可以访问组件实例 `this` }, beforeRouteLeave (to, from, next) { // 导航离开该组件的对应路由时调用 // 可以访问组件实例 `this` } }
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
beforeRouteEnter是组件的路由钩子,是写在组件里的。
貌似vue-router 2.2.0有一个beforeRouteUpdate钩子可以直接访问this
so, 只能用vm访问组件实例
官方文档