@jerrold_langworth
Nuxt.js предоставляет несколько вариантов для выполнения запросов к backend в приложении:
@jerrold_langworth
Вот примеры использования каждого из этих методов:
Установите модуль Axios в вашем проекте:
1
|
npm install @nuxtjs/axios |
Настройте модуль в файле nuxt.config.js:
1 2 3 4 5 6 7 8 9 |
module.exports = { modules: [ '@nuxtjs/axios', ], axios: { // настройки для вашего backend baseURL: 'https://example.com', } } |
Теперь вы можете использовать Axios для выполнения запросов в ваших компонентах или страницах:
1 2 3 4 5 6 7 8 9 10 |
export default { async mounted() { try { const response = await this.$axios.get('/api/data'); console.log(response.data); } catch (error) { console.error(error); } }, }; |
Выполните запрос в методе asyncData и верните полученные данные:
1 2 3 4 5 6 7 8 9 10 11 12 |
export default { async asyncData() { try { const response = await this.$axios.get('/api/data'); return { data: response.data, }; } catch (error) { console.error(error); } }, }; |
Затем вы можете использовать полученные данные в вашем компоненте:
1 2 3 4 5 6 7 8 9 10 11 |
<template> <div> <div v-for="item in data" :key="item.id">{{ item.name }}</div> </div> </template> <script> export default { props: ['data'], }; </script> |
Выполните запрос в методе fetch и сохраните полученные данные в компоненте:
1 2 3 4 5 6 7 8 9 10 |
export default { async fetch() { try { const response = await this.$axios.get('/api/data'); this.data = response.data; } catch (error) { console.error(error); } }, }; |
Затем вы можете использовать полученные данные в вашем компоненте также, как и в методе asyncData.