2016-05-08 63 views
0

如果我有一个接口:打字稿亚型检查

export interface IChartDatum { 
    values: { 
     x: number|Date, 
     y: number 
    }[], 
    key: string; 
    disabled: boolean; 
    area?: boolean; 
} 

为什么而与集合交互:private chartData:IChartDatum[] = [];

以下是正确无效:

this.chartData.push({ 
    values: [{x: "2", y: "5"}], 
    key: status.name, 
    disabled: status.name == 'archived' 
}); 

但是,这是错误的有效:

this.chartData.find(item => item.key == status.name) 
.values.push({x:"2", y: "5"}); 

enter image description here

+0

您的第一个示例中存在拼写错误。在任何情况下,当我尝试错误时,这两个示例都会生成相同的类型错误。 – toskv

+0

也许只是它的webstorm? – XGreen

+0

可能是,我见过很多人抱怨webstorm中的打字稿支持。在Visual Studio代码中,它工作得很好。 – toskv

回答

1

这似乎是Webstorm缺少TypeScript支持的问题。

这两种情况在Visual Studio代码中都会产生相同的类型匹配错误。