我想添加一个指令并使用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”获取所有元素,但我找不到。
我的错误在哪里?
答案 0 :(得分:1)
您需要在app.module
中注册您的指令才能在您的应用程序中使用。