У меня есть маршрут home
, который используется как администратором, так и пользователем. Есть ли способ показать UserComponent
, если вы вошли в систему как пользователь, и показать AdminComponent
, если вы вошли как админ?
Вот что у меня сейчас есть:
const routes: Routes = [
{ path: 'login', component: LoginComponent },
{
path: 'home',
component: HomeComponent,
children: [
// Children routes mix of user/admin paths
]
}
]
Я подумал, что, может быть, я смогу сделать что-то подобное, однако я не знаю, как получить доступ к службе на этом этапе сценария.
component: this.userService.isAdmin ? AdminComponent : UserComponent,
1 ответ
Вы можете сделать это в HomeComponent так:
HTML:
<admin-component *ngIf="isAdmin; else userHome;"></admin-component>
<ng-template #userHome>
<user-component></user-component>
</ng-template>
TS:
class HomeComponent {
public isAdmin: boolean;
constructor(userService: UserService) {
this.isAdmin = userService.isAdmin;
}
}
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript/JS) и его различных диалектах/реализациях (кроме ActionScript). Имейте в виду, что JavaScript — это НЕ то же самое, что Java! Включите все ярлыки, относящиеся к вашему вопросу; например, [node.js], [jQuery], [JSON], [ReactJS], [angular], [ember.js], [vue.js], [typescript], [svelte] и т. д.