带有指令的 viewChildren

viewChildren with directive

我想添加一个指令并使用 viewChildren 来识别它们:

// directive.ts
@Directive({
  selector: '[myOwnDirective]'
})
export class MyOwnDirective {

   constructor() { 
      console.log("hi") //never printed
    }
}

//component html:

<div myOwnDirective>content 1</div>
<div>content 2</div>
<div>content 3</div>
<div myOwnDirective>content 4</div>
<button (click)="printElements()"></button>

//component.ts:
 export class MyOwnComponent implements AfterViewInit{


  @ViewChildren(MyOwnDirective) children: QueryList<MyOwnDirective>;

   constructor() {

   }

   ngAfterViewInit() {
   }

   printElements(){
     console.log(this.children) // Empty
   }

我想要的是使用 "myOwnDirective" 获取所有元素,但我找不到方法。

我哪里错了?

您需要在 app.module 中注册您的指令才能在您的应用程序中使用。