vue3 怎么在请求拦截器中引入router
时间: 2023-11-06 18:21:01 浏览: 302
在Vue中通过vue-router实现路由嵌套
5星 · 资源好评率100%
在 Vue3 中,在请求拦截器中引入 router,可以使用 `getCurrentInstance` 方法获取当前组件实例,从而获取 router 对象。具体实现方式如下:
```javascript
import { getCurrentInstance } from 'vue'
import router from '../router'
axios.interceptors.request.use(config => {
const instance = getCurrentInstance()
if (instance) {
instance.$router = router
}
// ...
return config
}, error => {
// ...
return Promise.reject(error)
})
```
这里使用了 `getCurrentInstance` 方法获取当前组件实例,然后将 router 对象赋值给 `$router` 属性,这样就可以在请求拦截器中使用 `$router` 对象了。
阅读全文