主题预览

色调:

如果您使用的浏览器过时,不支持OKLCH颜色。颜色设置会不生效。

轻盈的鱼
幻想变成轻盈的鱼, 畅游在自由的海洋

在Directive中获取组件DOM以及实例

590 字

获取DOM

@angular/core 导入 ElementRefElementRefnativeElement 属性会提供对宿主 DOM 元素的直接访问权限。

import { Directive, ElementRef } from '@angular/core';

@Directive({
  selector: '[appTest]'
})
export class TestDirective {
  constructor(
    private el: ElementRef,
  ) {
    el.nativeElement.style.backgroundColor = 'yellow';
  }
}

获取组件实例

组件已知的情况下,在自定义指令中获取组件实例

直接在constructor中注入对应组件就可以

如下面代码,通过 this.com 就可以调用组件的属性和事件

import { Directive } from '@angular/core';
import { comTest } from 'comTest';
@Directive({
  selector: '[appTest]'
})
export class TestDirective {
  constructor(
    private com: comTest
  ) {
    console.log(this.com)
  }
}