3

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 関数の非同期性によるものです。

私の質問は、ディレクティブがフロート チャートを読み込もうとする前にデータが返されるようにするにはどうすればよいですか?

ありがとう!

4

2 に答える 2