@mifa-toster

Как хранить «второстепенные» данные компонента?

Всем привет!

Есть компонент Nuxt.js страницы:
<template>
    <div class="page">
        <Intro
            :title="Page Title"
            :description="Page Description" />
        <PageSection
            title="My Skills">
                <SkillCard
                    v-for="skill in portfolio.skills"
                    :key="skill.id"
                    :skill="skill" />
        </PageSection>
        <PageSection
            title="Last Jobs">
                <JobCard
                    v-for="job in portfolio.lastJobs"
                    :key="job.id"
                    :job="job" />
        </PageSection>
    </div>
</template>


Массивы объектов (skills, lastJobs) для динамического заполнения данных, я получаю из БД во время загрузки компонента страницы. Но в компоненте все еще остаются данные не помещенные в переменные - это:
  1. Заголовок и описание текущей страницы (intro.title, intro.description) (общий компонент для всех страниц сайта определяющий заголовок "название" странци).
  2. Заголовки "разделов" страницы (PageSection.title). Ну это обычные подзаголовки секций на страницах перед контент-блоком, которые обычно выполнены в едином дизайне для всех страниц и логически должны присутствовать на странице.


ВОПРОС:
- Как организовать хранение этих данных? Даже не так - как правильно абстрагировать и составить нужную зависимость для этих данных, что бы можно было составить структуру данных и, скажем, сохранить это в базе, что бы так же загружать динамически при загрузке данных?

Я хочу выделить эти строки в какие-то структуры данных и не хранить их в шаблоне компонента напрямую. Подскажите как правильно это сделать? Стек: Nuxt.js Node.js mongoDB. Но тут даже интересно без привязки к стеку, какое-то классическое решение... Особенно интересует второй пункт из списка!
  • Вопрос задан
  • 208 просмотров
Пригласить эксперта
Ответы на вопрос 1
С Nuxt.js не работал и как там с роутером тоже не очень знаю, но в чистом Vue всё это можно добавить в meta у каждого роута. И получать уже через $route.meta.title на странице.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы