@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.