viewChildren with directive

时间:2018-04-25 11:18:01

标签: angular angular5 angular-directive viewchild

我想添加一个指令并使用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”获取所有元素,但我找不到。

我的错误在哪里?

1 个答案:

答案 0 :(得分:1)

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