2017-01-26 3 views
2

У меня есть динамически созданный компонент внутри * ngFor и как мне получить offsettop и offsetleft для тех, кто получил их в ViewChildren.offsettop и offsetleft для viewchildren

Шаблон

<anchor #myanchor></anchor> 

Класс

@ViewChildren('myanchor') anchors: QueryList<any>; 

Вот ngAfterViewInit

ngAfterViewInit(){ 
    this.anchors.map(i=>{ console.log(i); }) 
} 

Я могу получить позицию для одного элемента через ViewChild, но нуждаются в помощи с ViewChildren. Любые указатели будут оценены.

ответ

0
ngAfterViewInit(){ 
    this.anchors.toArray() 
    .map(i=>{ console.log(i.nativeElement.offsetTop); }) 
} 

Если #myanchor находится на компоненте или директивы вместо обычного элемента DOM, вам нужно добавить read получить ElementRef

@ViewChildren('myanchor', {read: ElementRef}) anchors: QueryList<ElementRef>; 

Смотрите также angular 2/typescript : get hold of an element in the template

+0

Спасибо Гюнтер. Элемент offsetTop или offsetHeight для элемента показывает относительную высоту внутри родителя. Есть ли способ получить абсолютные координаты на странице? – sv16

+0

Я не знаю, но это то же самое, что и с простым JS. –

Смежные вопросы