根据https://developer.mozilla.org/en-US/docs/Web/API/FileReader
interface FileReader extends MSBaseReader {
error: DOMError;
readAsArrayBuffer(blob: Blob): void;
readAsDataURL(blob: Blob): void;
readAsText(blob: Blob, encoding?: string): void;
}
declare var FileReader: {
prototype: FileReader;
new (): FileReader;
}
来自lib.d.ts的这个也应该对变量有DONE,LOADING和EMPTY。我该如何扩展它,并且lib.d.ts是否有一个可以提交此类更改的公共场所?
答案 0 :(得分:3)
要在将新属性添加到lib.d.ts之前访问它们,可以扩展声明。这可以完成,因为TypeScript中的接口是打开的。
因此,添加一个名为libextensions.ts的TypeScript文件并添加以下内容:
interface FileReader {
EMPTY: number;
LOADING: number;
DONE: number;
}
您只需要将缺失的位放在这里 - 它们将被添加到lib.d.ts接口。
您可以使用此技术来保持工作草稿的最新状态,编译器会通过发出重复声明错误告诉您何时更新了lib.d.ts。
如果你有一个FileReader实例,你不需要通过FileReader.prototype.DONE
访问常量,你可以在实例上使用常量 - 例如:
var fileReader = new FileReader();
var example = fileReader.DONE;
答案 1 :(得分:0)
您应该在此处打开错误报告:http://typescript.codeplex.com/workitem/list/basic打字稿小组管理lib.d.ts