207 похожих чатов

Привет! Подскажите, пожалуйста... Словил странное поведение роутера - не пойму, почему

он себя так ведёт.
Сделал миддлвару access
router: {
middleware: ['auth', 'access']
}

В ней при каждом переходе роутера проверяю доступ к странице:
export default function ({ store }) {
store.app.router.beforeEach((to, from, next) => {
console.log('check access -'+to.name)
if(hasAccess(store.app.$auth.user, to.name)) {
next()
} else {
next(false)
}
})
}

Дальше - чудеса...
Кликаю на ссылку, next() срабатывает, переход осуществляется. В консоли вижу мой лог
check access -sessions
Пока на вид всё ок.
Кликаю следующую ссылку, получаю в консоли 2 вызова:
check access -test1
check access -test1
Кликаю ещё - получаю уже три вызова.
check access -test2
check access -test2
check access -test2
И так, с каждым переходом роутера, у меня метод срабатывает N+1 раз...
Что это за фигня и почему так?
Выходит, что через 2 часа пользования приложухой, она будет 100500 раз дёргать проверку... Куда копать?

1 ответов

4 просмотра

если память не подводит, мидлвара будет срабатывать на каждый роут где она навешана. Поэтому гуляя по сайту вы будете навешивать свой скрипт .beforeEach и потому они у вас накапливаются. Смотрите какой контекст у мидлвары есть и через него решайте задачу для конкретного роута. А то добираться до роутера через стору, ну такое себе. https://nuxtjs.org/api/context/

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

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
83
читать файл максимально быстро? странный вопрос))
zamtmn
53
How to create an OS in C? what to study?
Linus
18
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
5
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
Вопрос вроде правильно, но что надо сделать, чтоб текст был виден нормально ? ghci> TE.decodeUtf8 $ TE.encodeUtf8 "test - проба" "test - \1087\1088\1086\1073\1072"
Fedor
7
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
@HemulGM Параметры у AddStream поменялись? Несостыковка какая-то
Катерина Свиридова
12
Карта сайта