Как перенаправить маршруты с помощью Vue Router? - PullRequest
0 голосов
/ 18 июня 2020

Я впервые использую Vue. JS, и я организую свое приложение по доменам, например, имея главный файл маршрутизатора, я перенаправляю некоторые маршруты для правильного домена.

               +--> /users +
               |           |         +-----------------+
+--------------+           |         |     +-----------+
|              |           |         |     |           |    + Profile
|  Index Page  |           |         |users        <--------+ Create
|              |           +-------> |     |           |
|              |                     |     +-----------+
+--------------+                     +-----------------+

внутри /users есть пользователи-маршруты. js, в котором есть:

const userRoutes = [
  {
    path: '/profile',
    component: () = import('./views/users/UserProfile')  
  }
];

export default userRoutes

При поиске некоторых кодов я должен применить внутри своих основных маршрутов:

import Vue from 'vue'
import Router from 'vue-router'
import { userRoutes } from './views/users/users-routes'

Vue.use(Router)

export default new Router({
  routes: [
    {
      path: '/',
      component: () => import('@/views/Index'),
      children: [
        // Dashboard
        {
          name: 'Dashboard',
          path: '',
          component: () => import('@/views/Dashboard'),
        },
      ],
    },
    {
      path: '/users',
      redirect: '/users',
    },
  ], 
  ...userRoutes
})

Я получаю два предупреждения, указывая на строку ...userRoutes.

27: 5 error Конечные пробелы не допускаются без конечных пробелов
28:19 error Отсутствует конечная запятая, болтающаяся запятая

Как мне действовать?

1 Ответ

2 голосов
/ 18 июня 2020

Обязательно, «Я вижу, что вы хотите сделать A. A - это плохо. Сделайте B вместо этого.»

Правильный и более простой вариант - сохранить маршруты, содержащиеся в основном ./src/router.js, как указано в документации указывать. Оттуда сделайте vuex значение isLoggedIn. Затем на уровне template «пользовательских» страниц выполните v-if, если пользователь вошел в систему или нет.

Это можно сделать еще дальше, и в ловушке created, проверка может быть выполнена, если пользователь вошел в систему. А если они не авторизованы, маршрутизатор может sh перенаправить пользователя на страницу входа (или что угодно; возможно, вы используете модальный вход в систему).

...