组件Angular 7

时间:2019-06-14 17:30:54

标签: javascript angular typescript

我有一项服务,该服务检查元素的位置以确定是否在视图屏幕中。我遇到了一个问题,即服务返回一个“不同”的位置,该位置是我在检查元素时手动计算的位置。 在服务级别,我要做的是以下操作:

let offsetTop = elementRef.nativeElement.offsetTop;
let parent = elementRef.nativeElement.offsetParent;
while(parent !== undefined && parent !== null) {
   offsetTop = offsetTop + parent.offsetTop;
   parent = parent.offsetParent;
}

我检查了我是否在组件生命周期的错误阶段运行该方法,因此我尝试在(constructoronInitafterViewInit,{{1} }。

看起来很奇怪的是,如果我执行afterViewChecked并且执行相同的操作,我将使用循环执行此操作,则会得到不同的结果,该结果是没有意义的,因为console.log是在此时取方法执行的结果,并期望当时所有元素属性的快照?

顺便说一下,我不确定我在做什么是否正确。我也在谷歌上搜索,发现console.log(elementRef)也不起作用。

有什么想法吗?

0 个答案:

没有答案