У меня длинный список элементов, и я хотел бы иметь возможность из параметра get URL-адреса указать, к какому элементу я хочу получить доступ первым в списке
item.component.ts
@ViewChild(CdkVirtualScrollViewport) viewPort: CdkVirtualScrollViewport;
ngOnInit() {
this.getItems();
}
getItems(): void {
this.itemId = +this.route.snapshot.paramMap.get('id');
this.itemService.getItems().subscribe(
items => this.items=items,
err => console.error('Observer got an error: ' + err),
() => this.scroll()
);
}
scroll(){
this.viewPort.scrollToIndex(this.itemId, 'auto');
}// doesn't work
пробовал с
document.querySelector('#'+this.itemId).scrollIntoView({behavior: "smooth"}) // doesn't work either
item.component.html
<cdk-virtual-scroll-viewport style="height:800px" itemSize=1>
<div *cdkVirtualFor="let i of items" id="{{i.id}}">
...
</div>
</cdk-virtual-scroll-viewport>
при доступе к странице / site / item / 5
Я бы хотел, чтобы страница автоматически прокручивалась до пункта 5
или, если невозможно, начать список с показа im