Angular 如何从子组件获取父组件中元素的偏移?
我需要从我的子组件中获取父组件(基本布局)中定义的内容Angular 如何从子组件获取父组件中元素的偏移?,angular,Angular,我需要从我的子组件中获取父组件(基本布局)中定义的内容的偏移,以便我可以制作另一个具有相同大小的 我尝试这样做,但得到的无法读取未定义的属性“nativeElement” 以下是布局组件: <!-- Main content --> <div class="main" #mainContentArea> <!-- Breadcrumb --> <ol class="breadcrumb"> <app-br
的偏移,以便我可以制作另一个具有相同大小的
我尝试这样做,但得到的无法读取未定义的属性“nativeElement”
以下是布局组件:
<!-- Main content -->
<div class="main" #mainContentArea>
<!-- Breadcrumb -->
<ol class="breadcrumb">
<app-breadcrumbs></app-breadcrumbs>
</ol>
<div class="container-fluid">
<router-outlet></router-outlet>
</div><!-- /.conainer-fluid -->
</div>
这可能吗?我需要使此容器与内容区域的大小相同,以实现文件上载的拖放功能。要获得父级,您需要使用在构造函数中声明的属性,如下所示:
this.elRef.nativeElement.parentElement.offsetHeight;
正如我在命令中所说,您可以很容易地使用CSS实现这一点,但您说您希望访问父元素: 您可以通过访问
ChildComponent
的nativeElement
的parentNode
来执行此操作,如下所示(简化):
确保在ngAfterViewInit
中使用它。它仍然可以在ngOnInit
中工作,但如果父组件也有其他子组件,则可能会导致问题,因为它们不会同时初始化,并且您的高度可能不同
希望有帮助。你不能用css来做吗?将
设置为相对,并与子组件一起占据所有宽度/高度。mainContentArea
不是组件的子级。这不行。你可以用你的elRef
像this.elRef.parentNode
那样联系你的父母你是对的,在这种情况下我可以用CSS来做这件事,但是我怎样才能访问母公司的元素呢?我发布了一个答案,希望我能有所帮助。
this.elRef.nativeElement.parentElement.offsetHeight;
constructor(private elRef:ElementRef) {
}
ngAfterViewInit() {
console.log(this.elRef.nativeElement.parentNode.offsetHeight);
}