因此我在使用angular时遇到了一个奇怪的错误。怎么可能没有定义一个元素ngAfterViewInit()
函数,这不是在加载所有html时实际调用的函数,我得到错误"无法读取属性' nativeElement&#39 ;未定义"?任何想法,将不胜感激。这是html:
<div *ngIf="loading">
<img src="../../assets/loading.gif" alt="Loading data"
style="width:64px;height:64px;">
</div>
<div *ngIf="!loading">
<div style=" width:auto; margin-top:30px;" >
<div *ngIf="users">
<h1>Edit User</h1>
<div class="fluid centered">
<canvas #cns width="240" height="240"></canvas>
</div>
</div>
</div>
</div>
并在component.ts中:
@ViewChild("cns") cns: ElementRef; // DECLARED AT THE BEGINING
ngAfterViewInit() {
let self = this;
let canvass: HTMLCanvasElement = this.cns.nativeElement; // error
}