从另一个模块扩展typescript接口

时间:2017-01-18 00:16:26

标签: angular typescript highcharts typescript-typings

我正在使用Highcharts类型,我需要扩展它定义的几个对象/接口以添加我自己的一些属性。 E.g。

declare namespace Chart {  
  interface ChartOptions extends Highcharts.ChartOptions {
    series: ResourceSeries[];
  }
}

chart.component.ts

import ChartOptions = Chart.ChartOptions;
export class ChartComponent {
}

这无法给我“图表未定义”。同时,如果在使用ChartComponent指令的另一个(主)模块中使用,则导入有效。

2 个答案:

答案 0 :(得分:2)

如何导入界面,扩展界面并重新导出?

// chart-options.extended.ts
import { ChartOptions as ChartOptionsBase } from 'highcharts'

interface ChartOptionsExtended extends ChartOptionsBase {
    extensionProperty: string
}

export { ChartOptionsExtended as ChartOptions }

不确定您使用的是哪种打字/类型系统,但我使用的是Typescript 2.0风格,它没有使用"环境"分型:

npm install --save highcharts @types/highcharts

答案 1 :(得分:0)

问题似乎是我无法在模块中使用命名空间。在单独的非d.ts文件中切换到普通接口导出,因为现在每个接口都与模块的其余部分一起打包,并且可以这样导入。