#vue.js #vue-router
#vue.js #vue-маршрутизатор
Вопрос:
Я получаю эту ошибку при попытке перемещаться между страницами либо по ссылкам, либо по кнопкам, ошибка, похоже, возникает специально в функции boundRouteGuard в vue-router.js исходный файл, в котором кажется, что guard
параметр, переданный функции, не определен
function bindGuard (guard, instance) {
if (instance) {
return function boundRouteGuard () {
return guard.apply(instance, arguments)
}
}
}
А вот мой файл маршрута:
import Vue from 'vue'
import VueRouter from 'vue-router'
import NProgress from 'nprogress'
import i18n from './../plugins/i18n.plugin'
import routes from './routes'
const router = new VueRouter({
mode: 'history',
base: process.env.BASE_URL,
routes,
linkActiveClass: 'current',
linkExactActiveClass: 'exact-current'
})
Vue.use(VueRouter);
router.beforeEach((to, from, next) => {
function redirectToLogin () {
next({ name: 'login', query: { redirectFrom: to.fullPath } })
}
// If this isn't an initial page load...
if (from.name !== null) {
NProgress.start()
}
document.title = to.meta.title || i18n.t('app.title')
const authRequired = to.matched.some(record => record.meta.authRequired)
const token = localStorage.getItem('tokenData')
if (authRequired amp;amp; !token amp;amp; to.name !== 'login') {
redirectToLogin()
} else {
console.log(to.path)
next()
}
})
// When each route is finished evaluating...
router.afterEach(() => {
// Complete the animation of the route progress bar.
NProgress.done()
})
export default router
Комментарии:
1. Ваш код работает для меня. Если вы хотите, разместите воспроизводимый пример ошибки по адресу codesandbox.io