怎么在beforeRouteEnter里拿到$route的数据
时间: 2023-12-15 19:04:46 浏览: 71
在beforeRouteEnter守卫中,是无法直接访问组件实例this的,因为这个守卫在导航确认前被调用,新组件还没有被创建。但是可以通过在next方法里传递一个回调函数来获取组件实例。在这个回调函数中,可以通过参数vm来访问组件实例,并且可以使用vm.$route来获取$route的数据。
以下是一个示例的beforeRouteEnter守卫的写法,在其中通过next方法的回调函数获取组件实例并访问$route的数据:
beforeRouteEnter(to, from, next) {
next(vm => {
// 在回调函数里访问组件实例,即vm
console.log(vm.$route);
// 可以通过vm.$route获取$route的数据
// 在这里可以进行相应的操作和逻辑
});
}
通过以上方式,你就可以在beforeRouteEnter守卫里拿到$route的数据了。<em>1</em><em>2</em><em>3</em>
#### 引用[.reference_title]
- *1* *2* *3* [仿大众点评——watch (监测变化) $route 对象和导航守卫beforeRouteEnter两种方法监听数据变化](https://blog.csdn.net/qq_44997147/article/details/103881858)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item]
[ .reference_list ]
阅读全文