Где вычислять асинхронное значение, чтобы передать потомку?
Добрый вечер.
Есть компонента, которая от родителя получает jobID и нужно асинхронно вычислить job и передать дальше потомку. Вопрос: где вычислять job?
П.С. про vue-async-computed знаю, но раз изначально computed сделали синхронным, значит для этого была причина (поэтому не хочу использовать)
П.С.П.С. пробовал в хуках (created), но что-то не получилось (возможно руки кривые)
0xD34F, добрый день
Вообще приложение разделено на 3 части (делаю на nuxt):
1. /pages/* отвечает за работу с params и query и вызывает соответствующие компоненты из бизнес-логики
2. /components/ECM/* отвечает за бизнес-логику, а именно возвращает данные на основании params и query и передает их templates
3. /components/templates/* отвечает за "обрисовку"
может не надо было так сложно?..
"Пробовал":
<template>
<JobTemplate :job="job" />
</template>
<script>
import JobTemplate from "~/components/Templates/Pages/JobTemplate.vue"
import api from "~/database/api.js"
export default {
props: {
jobID: String
},
computed: { // computed не работает, так как нельзя async
job: async () => {
const res = await api.getJobByID(jobID)
return res.data
}
},
components: {
JobTemplate
}
}
</script>