Vue3中beforeRouteEnter用next方法没有返回$store
时间: 2024-05-03 11:23:32 浏览: 180
vue 中 beforeRouteEnter 死循环的问题
根据Vue3文档的介绍,`beforeRouteEnter`守卫中使用`next`方法可以接收一个回调函数,在组件实例化完成后执行。在回调函数中,可以访问到组件实例,并且可以将其作为参数传递给回调函数。
因此,如果想在`beforeRouteEnter`守卫中访问`$store`,可以将其作为参数传递给回调函数,然后在回调函数中访问`$store`。示例代码如下:
```javascript
beforeRouteEnter(to, from, next) {
next(vm => {
console.log(vm.$store)
})
}
```
在上面的代码中,`next`方法接收一个回调函数,该回调函数接收一个参数`vm`,表示组件实例。在回调函数中,可以通过`vm.$store`访问到`$store`对象。
另外,如果在组件中需要访问`$store`,也可以通过`inject`和`provide`实现。具体实现方式可以参考Vue3官方文档中的“Provide / Inject”一节。
阅读全文