I have [routerLink]
as below;
<li *ngFor="let item of pageNumbers" class="page-item">
<a
class="page-link"
[routerLink]="getPageUrl(item) | async"
routerLinkActive="active"
>{{ item }}</a
>
</li>
And getPageUrl
method is like;
public getPageUrl(pageNumber: number): Observable<string> {
const url: Observable<string> = this.route.url.pipe(
map((segments: UrlSegment[]) => {
let segmentsString = segments.join("/");
let pageUrl = `/${segmentsString}?startIndex=${pageNumber}`;
return pageUrl;
})
);
return url;
}
But on browser angular shows url like below;
http://localhost:3005/documents%3FstartIndex%3D1
desired:
http://localhost:3005/documents?startIndex=1
Am I missing something here? I would simply bind pagination directly to [routerLink], but there will be more query string parameters (filters, sorting) will get in to URL, that’s why I am trying to generate URL dynamically.