У меня есть приложение, которое отлично работает, но я хочу переместить его за страницу входа.Различные модули загружаются лениво и прекрасно работают.Однако, когда я изменяю приложение, чтобы всегда сначала переходить на страницу входа в систему (где я буду проверять состояние входа и перенаправлять в приложение, если оно вошло в систему), я получаю ошибку о маршрутах.
app-routing.module.ts
import { NgModule } from '@angular/core';
import { PreloadAllModules, RouterModule, Routes } from '@angular/router';
const routes: Routes = [
{ path: '', loadChildren: './login/login.module#LoginPageModule' }
// this next line was how the app routed before I tried adding the login page
// { path: '', loadChildren: './tabs/tabs.module#TabsPageModule' }
];
@NgModule({
imports: [
RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules })
],
exports: [RouterModule]
})
export class AppRoutingModule {}
login.router.module.ts
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { LoginPage } from './login.page';
const routes: Routes = [
{ path: '', component: LoginPage },
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
})
export class LoginRoutingModule { }
login.page.ts
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { Router } from '@angular/router';
import { Store } from '@ngrx/store';
import { AppState } from '../_store/store/app.store';
import { filter } from 'rxjs/operators';
@Component({
selector: 'app-login',
templateUrl: 'login.page.html',
styleUrls: ['login.page.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class LoginPage {
constructor(private router: Router, private store: Store<AppState>) {
this.userSubscription = this.store.select(state => state.users.user).pipe(
filter(user => !!user)
).subscribe(user => {
if (user) {
// THIS IS WHERE THE ERROR HAPPENS
this.router.navigate(['/tabs']);
}
});
}
}
this.router.navigate ([ '/ вкладки']);Вот где происходит ошибка:
ОШИБКА Ошибка: Uncaught (в обещании): Ошибка: не может соответствовать ни один маршрут.Сегмент URL: ошибка «tabs / поведение»: невозможно сопоставить ни один маршрут.Сегмент URL: «вкладки / поведение»
Я уверен, что здесь не хватает чего-то действительно очевидного.Первая попытка ленивой загрузки всех модулей.Я почти уверен, что мне нужно как-то ссылаться на модуль tabs в файле login.page или в login.router.module.Любая помощь будет принята с благодарностью.Проверка состояния для статуса пользователя работает отлично, я проверил, что все это работает, именно там он пытается перейти, если пользователь найден.