Javascript 角度5 ViewChild clientHeight、scrollTop和scrollHeight在
我有一个可滚动内容的组件。 然而,当我尝试使用ViewChild获取角度可滚动内容的维度时,所有值都为零,但是如果我使用jQuery获取元素,我会得到正确的值。为什么会这样?如何获得正确的角度尺寸?我验证了两者都有相同的元素,但我认为angular没有正确的值或元素?在控制台中,从css类和html名称来看,jQuery和Angular似乎都有相同的元素 模板:Javascript 角度5 ViewChild clientHeight、scrollTop和scrollHeight在,javascript,jquery,css,angular,angularjs-directive,Javascript,Jquery,Css,Angular,Angularjs Directive,我有一个可滚动内容的组件。 然而,当我尝试使用ViewChild获取角度可滚动内容的维度时,所有值都为零,但是如果我使用jQuery获取元素,我会得到正确的值。为什么会这样?如何获得正确的角度尺寸?我验证了两者都有相同的元素,但我认为angular没有正确的值或元素?在控制台中,从css类和html名称来看,jQuery和Angular似乎都有相同的元素 模板: <div class="container-fluid px-5 py-5 scrolled-contents" style="
<div class="container-fluid px-5 py-5 scrolled-contents" style="display:inline-block" #scrolledContents>
<div class="row">
...content
</div>
</div>
请帮忙?,我似乎无法重现您的问题
你把全部密码都给我了吗?它是路由组件吗?任何信息都会有用。我想处理你的问题。你会分享类似“Plunker”的东西吗?嗯,我想可能很难包含Plunker,我不确定。我可以试试。看起来你用的是angular 4.4.3,我用的是angular 5,boostrap 4.0,元素是boostrap容器,你能试着用angular 5复制吗?此外,我的容器没有在th元素上指定特定的高度。此外,我在容器内创建的内容是其他组件(不会影响它)。当然,内容是在页面加载后创建的。它不依赖于角度版本,但无论如何,只需将其设置为5,相同的URL,您可以检查。如果您没有弄乱CSS属性,内容就不会成为问题。@DoryZidon在“行”溢出时是否会显示“滚动”?如果发生
窗口:滚动在您的情况下不起作用。您确定更新有效吗?我收到了关于丢失rx文件的错误。。你能再次检查或发送一个新的链接吗?
export class ScrollContainer implements OnInit {
@ViewChild('scrolledContents') private scrollContainer: ElementRef;
@HostListener("window:scroll", [])
onScroll(): void {
const jQueryelement = $(".scrolled-contents")[0];
const angularElement = this.scrollContainer.nativeElement;
// angularElement.clientHeight == 0, angularElement.offsetHeight == 0, angularElement.scrollTop == 0, etc
// jQueryElement.clientHeight == correctValue, jQueryElement.offsetHeight == correct value, jQueryElement.scrollTop == correctValue
}