2017-05-19 15 views
0

私はc3を使ってグラフを生成しています。 JSONデータを読み込むために、c3チャートのRest APIにアクセスしています。私はこれらのバージョンであるランタイムエラーthis.chart.loadがC3.js - this.chart.loadは関数ではありません - 角2とTypescript

private chart: any; 
this.chart = c3.generate({ 
    data: { 
     url: '/api/systemvalues', 
     type: 'line' 
    } 
}); 
setTimeout(function() { 
    this.chart.load({ 
     url: '/api/systemvalues' 
    }); 
}, 1000); 

関数ではない私に

を与える負荷の機能を使用して動的にチャートをロードしようとしています。この例にhttp://c3js.org/samples/data_load.html を呼び使用:

@angular/core": "2.4.10", 
"c3": "^0.4.11", 
"d3": "^3.5.17", 
"typescript": "2.2.2" 

答えて

2

コールsetTimeoutではなくfunction(){()=>を使用して

private chart: any; 
this.chart = c3.generate({ 
    data: { 
     url: '/api/systemvalues', 
     type: 'line' 
    } 
}); 
setTimeout(()=>{ 
    this.chart.load({ 
     url: '/api/systemvalues' 
    }); 
}, 1000); 

または変数に代入this

とコンストラクタの内部でその変数を使用してsetTimeout機能にlot..Itが働い

private chart: any; 
this.chart = c3.generate({ 
    data: { 
     url: '/api/systemvalues', 
     type: 'line' 
    } 
}); 
constructor(){ 
    var vm = this; 

    setTimeout(function() { 
    vm.chart.load({ 
     url: '/api/systemvalues' 
    }); 
    }, 1000); 
} 
+0

感謝を呼び出します。今、私は、このソリューションは 'のsetTimeout機能しなかったというエラーに – Mythri

+0

を取得しておりません(()=> { this.chart.load({ URL: '/ API/systemvalues' を}); }、1000);' – Mythri

+0

もう1つはどうですか? –

関連する問題