具体的な答えにたどり着く前に、SeedStack にはすでにチャート用のアドオンがあることに注意してください。ライブラリを W20 に統合するには、主に次の 2 つのことを行う必要があります。
- JS ファイルを読み込み、依存関係として挿入できるように RequireJS を構成します。
- ライブラリを AngularJS フレームワークと統合します。これは、多くの場合、いくつかのディレクティブを記述することによって行われます。
幸いなことに、Angular -chart.js ライブラリのおかげで、Angular ディレクティブはすでに Chart.js で使用できます。RequireJS を構成してロードするだけです。requireConfig
フラグメントの 1 つのマニフェストにセクションを追加します。
{
"id": "my-fragment",
...
"requireConfig": {
"paths": {
"{angular-chart.js}": "${components-path:bower_components}/angular-chart.js/dist",
"{chart.js}": "${components-path:bower_components}/chart.js/dist"
},
"map": {
"{angular-chart.js}/angular-chart": {
"angular": "{angular}/angular",
"chart": "{chart.js}/Chart"
}
}
}
}
このpaths
セクションでは、2 つの Chart.js ライブラリの場所を宣言します。components-path
ここでは、デフォルト値がhere の名前の変数を使用していることに注意してbower_components
ください。これは、 W20 ブリッジ アドオンを使用する場合に便利です。
このmap
セクションでは、angular-chart.js の依存関係の予想されるパスと実際のパスの間のマッピングを宣言します。
その後、ドキュメントに従って angular-chart.js ライブラリを使用できます。
define([
'{angular}/angular',
'{angular-chart.js}/angular-chart',
], function(angular) {
var module = angular.module('myModule', ['ngResource', 'chart.js']);
module.controller('ContentController', [ '$scope', function($scope) {
// your JS code here
// (with your markup in a corresponding angular template)
}]);
});