Задать вопрос
@wakenby

Как организовать подстраницы во vue?

У меня есть страница register, и ее дочерние страницы signIn и signUp, и у меня четыре идеи как их разместить:

1)
60a38b808e5d0837388109.png

2)
60a38bbb23161830786577.png

3)
60a38c2c4317e148401666.png

4)
60a38ca216fb4992290677.png

Как можно организовать файлово страницы? Чтобы было правильно и понятно?)
  • Вопрос задан
  • 145 просмотров
Подписаться 1 Простой 4 комментария
Решения вопроса 1
rpsv
@rpsv
делай либо хорошо, либо никак
Дочерние страницы? А может правильней страница и ее компоненты? И тогда сразу вопросы отпадут:
1. страница Register и Home - во /views
2. компоненты SignIn и SignUp (только видимо изменить их название на SignInForm и SignUpForm) - в /components/register
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@MikUrrey
По смыслу Register = SignUp. Следовательно, Register - это должен быть Auth, или подобное более общее название - так было бы понятнее, семантичнее.
Далее, если Register у вас не несет сам по себе какой-то функциональной и смысловой нагрузки и применяется только как "обертка", то лучше его не упоминать в маршрутизации и использовать только как "обертку".
SignIn / SignUp:
<template>
  <component :is="'auth-layout'">
    <!-- ... Vue-разметка для SignIn или SignUp ... -->
  </component>
</template>
<script>
  import AuthLayout from "@/layouts/AuthLayout";
  export default {
   components: {
     AuthLayout
   }
    //... код для SignIn или SignUp
  }
</script>

AuthLayout:
<template>
  <div class="auth">
    <slot><!-- здесь отобразятся странички SignIn и SignUp --></slot>
  </div>
</template>

Т. е. целесообразно будет создать папку layouts, куда будут помещаться подобные глобальные шаблоны.
Сами SignIn и SignUp размещайте исходя из размеров проекта и карты маршрутов: если маршрут идет через общий префикс, (/auth/sign-up, /auth/sign-in), то можно их поместить в папку auth, а можно и не помещать, если планируется, скажем, не более десятка страниц.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы