我是 Angular 2 的新手,我正在研究图像裁剪插件,我想在 Canvas 上显示图像。 这是我的 html 代码
<div class="row">
<div class="col-sm-6">
<canvas id="layout" width="400" height="300">
This text is displayed if your browser does not support HTML5 Canvas.
</canvas>
这是我的 typescript 文件
import { Component, OnInit, ViewChild } from '@angular/core';
@Component({
selector: 'app-four',
templateUrl: './four.component.html',
styleUrls: ['./four.component.css']
})
export class FourComponent implements OnInit {
image: HTMLImageElement;
profPic: any;
context: CanvasRenderingContext2D;
constructor() { }
@ViewChild('layout') canvas;
@ViewChild('photo') photo;
ngOnInit() {
const _canvas = this.canvas.nativeElement;
//let photo = this.photo.nativeElement;
this.context = (<HTMLCanvasElement>_canvas).getContext('2d');
this.image = new Image();
this.image.src = '../../assets/images/1.jpg';
this.context.drawImage(this.image,20,20,500,260);
}
}
我有错误
错误类型错误:无法读取未定义的属性“nativeElement”
请帮我解决这个问题
谢谢
最佳答案
制作layout
局部模板变量
<canvas #layout id="layout" width="400" height="300">
This text is displayed if your browser does not support HTML5 Canvas.
</canvas>
关于html - 错误类型错误 : Cannot read property 'nativeElement' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48678994/