Усім привіт! У мене виникла проблема з реалізацією бічної панелі, в якій користувач буде мати можливість вибирати зі списку різні елементи та завантажувати різні результати. Для досягнення цього я використовую параметри маршрутизації, що по суті передають ідентифікатор на бекенд для отримання нових результатів.
1 2 3 4 |
<div class="organisation-item" *ngFor="let item of emailDocumentData" (click)="navigateToEmailDocument(item.pk)" [ngClass]="{'selected-item': item.pk === emailContentIDTest}"> <span [class.show]="!isCollapsed" class="text-hide item-text">{{ item.name }}</span> <span [class.show]="isCollapsed" class="text-hide plus sliced-text">{{ item.name | slice: 0 : 4 }}</span> </div> |
Мені потрібно, щоб при параметрі маршрутизації emailContentID співпадав з item.pk, клас ‘selected-item’ додавався як CSS клас.
Ось моя функція навігації:
1 2 3 |
navigateToEmailDocument(pk: number): void { this.router.navigate([pk], { relativeTo: this.activatedRoute }); } |
І ось ngOnInit:
1 2 3 4 5 6 |
ngOnInit(): void { // Підсвітка параметрів обраного елемента ще не працює this.activatedRoute.params.subscribe((params) => { this.emailContentID = params["id"]; }); } |
З якоїсь причини це не відбувається достатньо швидко; мій ngClass застосовується лише під час навігації та оновлення параметрів маршруту.