次のプランカーをAngularに実装しようとすると、次のエラーメッセージが表示されます。
Property 'series' does not exist on type 'Object'.
http://plnkr.co/edit/OQSFSKisIIWAH0megy4d?p=preview
"angular2-highcharts": "^ 0.5.5"をインストールし、 "@ types/highcharts": "^ 5.0.5"と入力しました。
どんな助けでもいただければ幸いです。
コンパイラーは、series
と入力したときに、プロパティObject
がthis.options
に存在するかどうかを認識しません。
これを克服するには、プロパティの入力を削除することができます(怠惰な方法):
class AppComponent {
options: any;
}
または、this.options
が正しく入力されるように、オブジェクトを直接割り当てることにより、コンパイラにオブジェクトから型を推測させることができます。
class AppComponent {
options = {
chart: {
zoomType: 'xy'
},
series: ...
// ...
};
}
または、インターフェースでoptions
のタイプを定義します。
interface Options {
series: any[], // Should be typed to the shape of a series instead of `any`
// and type other props like "chart", "title"
}
class AppComponent {
options: Options;
constructor() {
this.options = {
chart: {
zoomType: 'xy'
},
series: ...
// ...
};
}
}
誰かがそれが役に立つと思った場合
次のようにコンポーネントでチャートを宣言します
export class DemoComponent {
chart: Chart;
そして、次のようなシリーズのタイプオプションを追加します
this.chart = new Chart({
...,
series: [
{
name: 'Line 1',
data: [1, 2, 3],
type: 'line'
}
]
});