Как реализовать routerLinkDisabled?
Я ищу для реализации директивы под названием routerLinkDisabled
/ routerLinkEnabled
, похожий на routerLinkActive
, но он добавляет классы всякий раз, когда обнаруживает, что навигация по маршруту отключена охранником.
Например:
@Injectable()
export class AuthGuardService implements CanActivate {
constructor(public auth: AuthService, public router: Router) {}
canActivate(): boolean {
if (!this.auth.isAuthenticated()) {
this.router.navigate(['login']);
return false;
}
return true;
}
}
Маршрут:
{
path: 'profile',
component: ProfileComponent,
canActivate: [AuthGuard]
},
Шаблон:
<a routeLink="/profile" routerLinkDisabled="hidden">Profiles</a>
Скрыл бы ссылку на /profile
от пользователей, которые не вошли в систему.
У меня проблемы с сопоставлением URL-адресов с Route
(config), чтобы соответствующие гвардейцы могли быть идентифицированы и запущены. Или есть возможность проверить текущее состояние приложения could
перейти на этот маршрут без необходимости делать это?
Конечно, я мог бы сделать это вручную, но я не хотел бы делать это без необходимости.