angular4 如何在指令里面获取组件视图

图片描述

图片描述

如第二张图无法获取,我的navbar组件里面有navBarDiv,请问怎样获取并操作它,document方法可以,但是这样就失去用angular的意义了

阅读 2.5k
3 个回答

在指令的构造函数里面注入ElementRef,便可操作引用指令的元素

<div #dom>dom</div>
import { ...,ViewChild,ElementRef,AfterViewInit } from '@angular/core'
...
export class XXXComponent implements AfterViewInit{
    @ViewChild('dom') dom:ElementRef
    ...
    
    ngAfterViewInit(){
        ...
        console.log(this.dom.nativeElement)   //获取div dom元素
    }
}   

可以配合Renderer2进行一些更好的dom操作。

获取元素使用ElementRef,
操作元素属性样式等,使用Renderer2,最近又出了个Renderer3

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题