В моем приложении два модуля: HomeModule и LoginModule .Я хочу иметь возможность загружать два разных модуля по одному пути.Какой модуль загружается, зависит от того, вошел ли пользователь в систему или нет.
Если пользователь вошел в систему, HomeModule должен загрузить его, если нет - LoginModule должен загрузить.
Я пробовал этот код, нет ошибки вконсоль HomeModule загружается, если пользователь вошел в систему, но если пользователь не вошел в систему - ничего не загружается.Если я изменим порядок своих маршрутов, LoginModule будет работать, а HomeModule - нет. HomeGuard .canLoad () возвращает true, если пользователь вошел в систему, LoginGuard .canLoad () возвращает true, если пользователь не вошел в систему.
HomeGuard .canLoad:
if (this.userSessionService.userSession) {
return true;
}
this.router.navigate(['./']);
return false;
LoginGuard .canLoad:
if (this.userSessionService.userSession) {
this.router.navigate(['./']);
return false;
}
return true;
Мой маршрут:
{ path: '', loadChildren: './home/index#HomeModule', canLoad: [HomeGuard] },
{ path: '', loadChildren: './login/index#LoginModule', canLoad: [LoginGuard]}
Он должен работать как основной маршрут в веб-приложении Facebook.Если я захожу на facebook.com , я вижу страницу входа, если я не вошел в систему, если я вошел в систему, я вижу приложение как зарегистрированный пользователь.