angular - 如何修复angular2-signaturePad中的“无法读取未定义的属性'toDataURL'”
问题描述
我正在构建一个使用 Angular 7 的项目。我目前正在尝试实现签名并将签名图像保存在数据库中。所以我选择“angular2-signaturepad”包来实现签名。它工作正常,直到绘制完成。签名绘制完成后,我想保存图像。但它在绘制完成后显示错误“无法读取未定义的属性'toDataURL'”。
在 html 文件中
<signature-pad [options]='signaturePadOptions' (onBeginEvent)="drawBegin()" (onEndEvent)="drawComplete()"></signature-pad>
在 ts 文件中
import { SignaturePad } from "angular2-signaturepad/signature-pad";
在 oninit 里面
@ViewChild('SignaturePad') signaturePad: SignaturePad;
public SignaturePadOptions = {
'minWidth':2,
'penColor':'rgb(66,133,244)',
'backgroundColor':'rgb(255,255,255)',
'canvasWidth':450,
'canvasHeight':150,
};
public drawBegin(): void {
console.log('Begin Drawing');
}
public drawComplete(): void {
let signature = this.signaturePad.toDataURL('image/jpeg', 0.5);
console.log(signature);
}
}```
I expect the output should be the base url image name while console the result. But it is showing error "ERROR TypeError: Cannot read property 'toDataURL' of undefined".
解决方案
在znotdead关于另一个问题的评论中发现了这一点: Angular 有一个签名板可以将其保存到图像中吗?
将导入语句更改为:
import { SignaturePad } from "angular2-signaturepad/signature-pad";
至
import { SignaturePad } from 'angular2-signaturepad';
推荐阅读
- php - 如何格式化 PHP 浮点数,如“00.00”模式?
- r - 在函数中删除 R 中数据框的最后一列
- android - 如何使用 android 中的意图打开内部存储器中的屏幕截图文件夹?
- microsoft-graph-api - 有没有办法使用图形API获取共享点office365的回收站项目?
- reactjs - 哪种酶适配器适用于 React 17?
- html - 浏览器是如何决定这些表格列的宽度的?
- javascript - Ajax 函数在模态关闭和打开时运行多次
- python - 如何将值列表作为多个 Python 请求参数动态传递?
- c++ - C ++中队列的最大大小限制是多少/决定大小限制或溢出限制的所有因素是什么?
- javascript - 如何用对象值替换字符串