У меня есть следующий объект:
let route = {
path: "/login",
name: "login",
component: Login,
beforeEnter: (to, from, next) => {
if (store.state.system.loggedIn) {
next("/");
} else {
next();
}
},
}
Указывает объект маршрута для Vue Router. Проблема с функцией beforeEnter
, поскольку я получаю ошибку TS7006 - все параметры неявно имеют тип any
.
Я мог бы указать типы параметров вручную, но уже существует точный тип, который должна соответствовать функции beforeEnter
- он называется NavigationGuard
, и я могу импортировать его из vue-router
просто отлично.
Проблема возникает, когда я пытаюсь указать ее, я не могу найти правильный синтаксис. Я нашел вопрос " Определение типа в литерале объекта в TypeScript ", где в ответе предлагается либо указать тип всего объекта, либо привести его следующим образом: { hasStarted: <boolean> null, ... }
, но заменить определение на
let route = {
path: "/login",
name: "login",
component: Login,
beforeEnter: <NavigationGuard> (to, from, next) => {
if (store.state.system.loggedIn) {
next("/");
} else {
next();
}
},
}
похоже не успокаивает компилятор.
Что делать?