【问题标题】:Rename symbol implicitly imported from internal library in TypeScript重命名从 TypeScript 内部库中隐式导入的符号
【发布时间】:2019-04-24 09:21:57
【问题描述】:

我有一个模块,我在其中使用从 "dom" 内部库隐式导入的 Element 类。

但是,在同一个模块中,我想定义一个自己的 Element 类。这当然会导致名称冲突和痛苦的世界。

有没有办法从 DOM 库中重命名隐式 Element 类?

理想情况下,我想要这样的东西:

import * as DOM from 'dom'; // <-- what do I write here?

class Element { // <-- my element
  private element: DOM.Element; // <-- reference to the original DOM element
}

【问题讨论】:

    标签: typescript import rename


    【解决方案1】:

    到目前为止我发现的唯一解决方案是定义一个指向原始 DOM 符号的自定义类型:

    type DOMElement = Element;
    
    namespace Acme {
    
      class Element {
        private element: DOMElement;
      }
    
    }
    

    这里的想法是将我的自定义元素类隐藏在命名空间内,并使用自定义类型间接引用 DOM 元素。

    但是,我们将不胜感激。

    【讨论】:

      猜你喜欢
      • 2020-03-26
      • 1970-01-01
      • 2016-06-14
      • 1970-01-01
      • 2019-08-11
      • 1970-01-01
      • 1970-01-01
      • 2011-10-03
      • 2018-02-21
      相关资源
      最近更新 更多