Vue Метод Router Guard все еще разрешает загрузку страницы - PullRequest
2 голосов
/ 24 апреля 2020

Я использую следующую защитную константу, чтобы запретить пользователям заходить на страницы, если у них нет маркера, сохраненного в файлах cookie. Однако, если я попытаюсь сделать это достаточно времени, пользователь сможет зайти на страницу, но компоненты не загрузятся, это просто пустая страница

Что еще я должен добавить в свой файл маршрутизатора, чтобы предотвратить подобные вещи? что случилось?

Вот моя константа:

const guard = function(to, from, next) {
  const token = Cookies.get('token')
  if(typeof token === 'undefined' || token === null ){
    this.$store.dispatch('logout')
    window.location.href = "/";
  } else {
    next();
  }
};

1 Ответ

1 голос
/ 24 апреля 2020

Попробуйте использовать next('/') вместо window.location.href = "/":

import store from 'path/to/store/
const guard = function(to, from, next) {
  const token = Cookies.get('token')
  if(typeof token === 'undefined' || token === null ){
   store.dispatch('logout');
    next('/');
  } else {
    next();
  }
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...