Как решить прокрутку к выбранному изображению в массиве изображений?
У меня есть массив изображений в дочернем компоненте и такой же массив изображений в родительском компоненте. Когда я выбираю одно изображение в дочернем компоненте, я хочу, чтобы родительский компонент нашел это изображение в массиве и прокрутил до него.
Я использую BehaviorSubject в службе для получения выбранного изображения, но я не могу решить проблему использования этого выбранного значения в моем родительском компоненте и прокрутить до этого изображения в массиве.
Вот что у меня есть в моем родительском компоненте:
selectedImg: Image;
images: Image[] = [];
@Input() selIm: Image;
@ViewChildren('someId') someId: QueryList<ElementRef>;
ngOnInit() {
this.myservice.selectedImage.subscribe(selected => {
this.selectedImg = selected; /// getting selected image from child component
});
this.images = this.myservice.getImages(); // getting all images from service
}
ngAfterViewInit() {
this.someId.changes.subscribe(x=> {
this.someId.toArray().map(y=>{
y.nativeElement.querySelector('someClass').scrollIntoView();
})
})
}
И в моем шаблоне у меня есть:
<div class="someClass" *ngFor='let img of images;' #someId [selIm] ="selectedImg">
<img src="{{img.link}}" />
</div>
Я пробовал с @ViewChildren, но продолжаю получать ошибки undefined. Благодаря!