为观察者提供偏移和隔离

时间:2017-01-26 05:32:54

标签: angular offset viewchild

我在* ngFor中有一个动态创建的组件,如何在ViewChildren中获取它们之后获得偏移量和offsetleft。

模板

<anchor #myanchor></anchor>

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

这是ngAfterViewInit

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

我可以通过ViewChild获取单个元素的位置,但需要ViewChildren的帮助。任何指针都将受到赞赏。

1 个答案:

答案 0 :(得分: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