Я создал модуль с именем response-types.module.ts
в общей папке.
Здесь я создал инициализатор
const initializer = (apiService: ApiService) => {
return () => {
return apiService.getIsActiveType()
.then(res => res.json())
.then(res => {
document.body.classList.add(res.type);
});
};
и
@NgModule({
providers: [
{
provide: APP_INITIALIZER,
useFactory: initializer,
deps: [ApiService],
multi: true,
},
],
}) export class ResponseTypes{ }
}
Теперь это работает, так как я хотел выполнить некоторые действия прямо перед всем, и это работает, но теперь я хочу перейти к компоненту, используя router.navigate
например
return apiService.getIsActiveType()
.then(() => route.navigate(['./login']))
.then(res => {
document.body.classList.add(res.type);
});
но это не работает, даже если я создал свойство маршрута, например
route: Router;
при импорте маршрутизатора, но он говорит, что маршрутизатор не определен.
Я не хочу использовать windows.location.href
.
Как мне перейти к компоненту из этого модуля или app.module
, если это возможно, чтобы я переместил туда свою логику инициализатора?
Вы пытались добавить
Router
кdeps:[...]
?