我正在使用 FileReader接口并使用异步方法 readAsText()来读取本地文本文件, 之后,当调用 onload事件时,我尝试读取我的文件,我的源代码如下:
export class ReadFileComponent {
text: string;
readFile(): void {
let reader=new FileReader();
reader.onload = function(e) {
this.text=reader.result;
}
reader.readAsText(file);
}
}
编辑失败,因为" FileReader"
类型" text" 不存在我认为这是由于EventListener接口不接受对象,
有人请解决这类问题吗?
谢谢你们,
答案 0 :(得分:41)
如果你想在回调中使用this
,请使用箭头功能,否则它将无效
reader.onload = (e) => {
this.text=reader.result;
}
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/Arrow_functions
答案 1 :(得分:0)
您在这里使用常规的javascript函数:
$sql = "INSERT INTO NewCase VALUES (NULL, ?, ?, ?, ?, ?, ?, NULL)";
$stmt = $link->prepare($sql);
$stmt->bind_param("ssssss",$staffname, $category, $prioritylevel, $status, $checkdate, $summary);
$stmt->execute();
$sql = "INSERT INTO NewResident VALUES (NULL, ?,?,?, NULL, NULL, ?,?,?)";
$stmt = $link->prepare($sql);
$stmt->bind_param("ssssss",$nric, $residentname, $telephone, $street1, $street2, $postalcode);
$stmt->execute();
reader.onload = function(e) {
this.text=reader.result;
}
属于函数而非您的类。
使用箭头功能
this
或者
reader.onload = (e)=> {
this.text=reader.result;
}