AngularJS で jQuery Flot チャートの読み込みを処理するディレクティブを設定しました。
var Dashboard = angular.module('StatsDashboard', []);
Dashboard.directive('chart', function() {
return {
restrict: 'E',
template: '<div></div>',
replace: true,
link: function(scope, elem, attrs) {
var chart = null;
var data = scope[attrs.ngModel];
var options = {}
$.plot(elem, data, options);
elem.show();
}
};
});
ディレクティブはコントローラからロードされます:
function ChartCtrl($scope, $http)
{
$http.get('controllers/weekly_overview_charts.php').success(function(data) {
$scope.reg_vs_act = data;
});
}
「TypeError: parseDataで未定義のプロパティ '長さ' を読み取れません」というメッセージが表示されます。
これは、http 関数の非同期性によるものです。
私の質問は、ディレクティブがフロート チャートを読み込もうとする前にデータが返されるようにするにはどうすればよいですか?
ありがとう!