vue 怎么在路由里调用api,获取我画面列表的行数到我的导航栏
时间: 2024-02-20 18:56:43 浏览: 118
要在 Vue 的路由中调用 API 并获取数据,可以使用 Vue 的官方插件 Vue Resource 或者 Axios。
以下是使用 Axios 在路由中获取数据的示例代码:
```javascript
import axios from 'axios'
const router = new VueRouter({
routes: [
{
path: '/my-page',
component: MyPage,
beforeEnter: (to, from, next) => {
axios.get('/api/my-page-list')
.then(response => {
// 获取数据成功后,将行数设置到导航栏
const rowCount = response.data.length
store.commit('setNavRowCount', rowCount)
next()
})
.catch(error => {
console.error(error)
next(false)
})
}
}
]
})
```
在上面的代码中,我们使用了 Axios 发送 GET 请求到 `/api/my-page-list` 接口,然后在 `then()` 方法中获取了返回的数据,将数据的长度设置到 Vuex 的状态管理器中,最后调用 `next()` 方法进入路由组件渲染。如果请求数据失败,则在 `catch()` 方法中打印错误信息并调用 `next(false)` 取消路由导航。
阅读全文