Я пытаюсь использовать ViewChildren, чтобы получить массив сложенных элементов холста из моего шаблона, чтобы позже я мог рисовать на них, как на слоях в программе рисования.
Drawing.component.html
<canvas #canvaslayer style="z-index: 0;"></canvas>
<canvas #canvaslayer style="z-index: 1;"></canvas>
<canvas #canvaslayer style="z-index: 2;"></canvas>
чертеж.компонент.тс
@Component({
selector: 'app-drawing',
templateUrl: './drawing.component.html',
})
export class DrawingComponent implements OnInit {
@ViewChildren('canvaslayer') canvasLayers: QueryList<ElementRef>;
ngOnInit() {
//this.canvasLayers == undefined here and
//this.canvasLayers[0].nativeElement throws an exception
}
}
Когда я это делаю, ViewChildren возвращает значение undefined. Я думаю, что ViewChildren обычно используется с компонентами angular вместо собственных элементов HTML, но я бы не стал создавать новый компонент только для инкапсуляции холста.