Можно ли сделать что-то подобное в nuxt?
Идея состоит в том, что когда вы go идете по любому маршруту, страница _. vue загрузится
в соответствии с документацией https://nuxtjs.org/guide/routing/#unknown -dynami c -nested-маршруты
/pages/_.vue
<template>
<div>
<component v-bind:is="sectionType" :content="content"></component>
</div>
</template>
<script>
import News from '@/pages/__predefined/News';
import Events from '@/pages/__predefined/Events';
import api from '@/api';
export default {
async asyncData({ $axios })
res = await $axios.$get(`https://api.com/${route.path}`);
return {
sectionType: res.type,
content: res.content || {}
}
},
components: {
'news': News,
'event': Events
},
}
</script>
Затем выполните запрос API с текущим путем в asyncData / news / some-article или / events / some-event
Response:
{
type: 'news', // or events
content: {}
}
Затем, узнав тип, я хотел бы показать соответствующий макет.
Кроме того, можно ли вызвать asyncData в этом конкретном макете, который будет отображаться?
Или единственный способ передать контент через реквизиты?