在TypeScript中访问类型提示的全局范围

我在Typescript中的类型提示有问题,无法指定全局类型 .

以下面的例子为例

// Builder.ts
module Builder {
  class Block {
    // ...
    function uploadFile(file:File) { /* ... */ }
  }
}

//Blocks.ts
module Builder {
  module Types {
    class Image {
      // ...
      function uploadFile(file:File) { /* ... */ }
    }
    class File {
      // ...
    }
  }
}

编译时出现此错误:

错误TS2415:类'Image'错误地扩展了基类'Block' . 属性“uploadFile”的类型不兼容 . 类型'(file:File)=> void'不能分配给'(file:File)=> void' .

这充其量是误导性的 .

因此在PHP中,您可以将File指定为\ File以获取全局文件,但是我无法在TypeScript中找到/弄清楚如何执行此操作 .

逻辑上(至少对我而言)它将是 window.File .

回答(1)

2 years ago

但是我无法在TypeScript中找到/弄清楚如何做到这一点 .

这是一个开放的功能请求:https://github.com/Microsoft/TypeScript/issues/983您可以表达您的愿望 .

请注意,目前有一种解决方法:https://github.com/Microsoft/TypeScript/issues/983#issuecomment-66704566

一个专门为您的情况:https://stackoverflow.com/a/27433864/390330