[英]Getting around Typescript with ngImgCrop
I'm new to coding and have the opportunity to do some small stories on a project to whet my teeth.我是编码新手,有机会在一个项目上做一些小故事来磨练我的牙齿。 Right now I'm working on getting profile picture selection and cropping into a webapp with AngularJS.现在我正在使用 AngularJS 选择个人资料图片并将其裁剪到一个 web 应用程序中。 I've selected ngImgCropper to handle the cropping.我选择了 ngImgCropper 来处理裁剪。 Here's a JSFiddle with boilerplate code: http://jsfiddle.net/a2ew3yhf/50/这是一个带有样板代码的 JSFiddle: http : //jsfiddle.net/a2ew3yhf/50/
And here's JavaScript from that link:这是来自该链接的 JavaScript:
var handleFileSelect=function(evt) {
var file=evt.currentTarget.files[0];
var reader = new FileReader();
reader.onload = function (evt) {
$scope.$apply(function($scope){
$scope.myImage = evt.currentTarget.result;
});
};
reader.readAsDataURL(file);
};
Here's my problem.这是我的问题。 My project uses Typescript, which doesn't support evt.currentTarget.result, so I get the following error:我的项目使用了不支持 evt.currentTarget.result 的 Typescript,因此出现以下错误:
Property 'result' does not exist on type 'EventTarget'
Is there any way to get around this?有没有办法解决这个问题?
If you sure that this property exist just make something like below如果您确定此属性存在,请执行以下操作
var handleFileSelect=function(evt) {
var file=evt.currentTarget.files[0];
var reader = new FileReader();
reader.onload = function (evt) {
$scope.$apply(function($scope){
$scope.myImage = (<any>evt.currentTarget).result;
});
};
reader.readAsDataURL(file);
};
Also you can create own interface that would be describe your target您也可以创建自己的界面来描述您的目标
interface MyTarget {
result:any; //or type of image
}
//skip some code
$scope.myImage = (evt.currentTarget as MyTarget).result;
You can provide own declaration of ngImageCroper or provide description for current event您可以提供自己的 ngImageCroper 声明或提供当前事件的描述
var handleFileSelect=function(evt: ImageCropEvent){
//your stuff
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.