Pablojim の「Highchart-ng」モジュールを使用して、AngularJS で Highchart グラフ作成ライブラリを使用しています。
すべてが適切に設定されており、次のコードは意図したとおりに機能します。
<highchart config="{
type : 'line',
series : [{
name : 'Visitors',
data : [1, 4, 10, 3]
}]
}"></highchart>
しかし
<highchart config="{
type : 'line',
series : [{
name : 'Visitors',
data : {{visitors}}
}]
}"></highchart>
ではない。( 「データ」の違いに注意してください)
次のエラーが発生し続けます。
Error: [$parse:syntax] Syntax Error: Token 'visitors' is unexpected, expecting [:] at column 122 of the expression [{
type : 'line',
series : [{
name : 'Visitors',
data : {{visitors}}
}]
}] starting at [visitors}}
}]
}].
注: 変数 {{visitors}} はコントローラーで適切に設定されており、テンプレートで使用すると、データは正常に機能します。また、以前のグラフ作成ライブラリである Flot でも機能していました。
複数の回避策を試しました:
- 通常、ディレクティブに次のようなものを追加することで、この (初期化) 問題を回避できる
ng-repeat="data in visitors | limitTo: 1"
ため、変数が使用可能になったときにのみ初期化されます (これは Flot と EasyPieCharts で機能します)。 - 追加してもうまくいき
ui-refresh="visitors"
ません、 - どちらも機能し
data: {{visitors || 0}}
ません。
では、テンプレート ファイル内に変数をインラインで追加するにはどうすればよいでしょうか。