別のサーバー(または正確にはポート)上で実行されているAPIを使用して、ng2-adminテンプレートの一部のグラフにデータを読み込もうとしています。DataLoaderを使用したNg2-Adminテンプレートチャート
次のようにlineChart.service.ts内部私のコードは次のようになります。これは、元のテンプレートであり、データの一部を除いて、デフォルトページ以外のあまりないです
return {
type: 'serial',
theme: 'blur',
marginTop: 15,
marginRight: 15,
responsive: {
'enabled': true
},
dataLoader: {
url: 'http://localhost:4000/reporting/temperatures',
format: 'json',
showErrors: true,
noStyles: true,
async: true
},
categoryField: 'MeasureMoment',
categoryAxis: {
parseDates: true,
gridAlpha: 0,
inside: true,
color: layoutColors.defaultText,
axisColor: layoutColors.defaultText
},
valueAxes: [
{
minVerticalGap: 50,
gridAlpha: 0,
color: layoutColors.defaultText,
axisColor: layoutColors.defaultText,
labelFunction: this.formatLabel
}
],
graphs: [
{
id: 'g0',
bullet: 'none',
useLineColorForBulletBorder: true,
lineColor: colorHelper.hexToRgbA(graphColor, 0.3),
lineThickness: 1,
negativeLineColor: layoutColors.danger,
type: 'smoothedLine',
valueField: 'Temperature',
fillAlphas: 1,
fillColorsField: 'lineColor'
}
],
chartCursor: {
categoryBalloonDateFormat: 'MM YYYY',
categoryBalloonColor: '#4285F4',
categoryBalloonAlpha: 0.7,
cursorAlpha: 0,
valueLineEnabled: true,
valueLineBalloonEnabled: true,
valueLineAlpha: 0.5
},
dataDateFormat: 'MM YYYY',
export: {
enabled: true
},
creditsPosition: 'bottom-right',
zoomOutButton: {
backgroundColor: '#fff',
backgroundAlpha: 0
},
zoomOutText: '',
pathToImages: layoutPaths.images.amChart
};
dataProvider要素にデータが入っていて、前に正常に使用したdataLoaderで置き換えました。
私はvalueFieldとCategoryFieldの値を、私のAPIが返す要素で置き換えました。私が知っている限り、そのトリックを行う必要があります。 ページをリロードすると、グラフが表示されません。
データを返すAPIをテストしました。私は、リクエストが行われたことを示すAPIが呼び出されるたびにコンソールにログ行を追加しました。 ng2-adminページがリロードされたときにリクエストが行われていないことがわかります。
エラーを表示してエラーメッセージが表示されたら、それを調べることができますが、エラーメッセージはまったくありません。
私はこれを理解する助けをいくつか使うことができます。より多くの情報が必要な場合は、私は共有することをうれしく思います。
ありがとうございます!
アプリのどこかにdataLoaderプラグイン( 'dataloader.min.js')を含めましたか? – xorspark
いいえ、私はしませんでした。私はAngular2とng2-adminテンプレートが初めてです。試行錯誤の仕方を見つけ出す:)通常のインクルード文を追加することはわかりません。 – Arno
Gotcha。私はAngular2やTypescriptにも慣れていませんが、あなたは現在、アプリケーションにamcharts jsファイルを含んでいます( 'amcharts.js'、' serial.js'など)。 Dataloaderプラグインをチャートライブラリの後に追加すると、dataloader設定が実際に機能するはずです。 – xorspark