从另一个函数获取数据以显示角度的高图

时间:2014-08-07 11:21:08

标签: angularjs highcharts

我正在尝试在我的角度应用程序中显示高级图表 下面是我的get_chart函数,它从另一个函数

获取数据
function get_chart(data) {
    alert('hello..' + data);

        return {
            xAxis: {
                categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
            },
            chart: {
                height: 300,
                width: 500,
                type: 'column'
            },
            credits: {
                enabled: false
            },
            plotOptions: {
                series: {
                    cursor: 'pointer',
                    point: {
                        events: {
                            click: function() {
                                console.log ('Category: '+ this.category +', value: '+ this.y);
                            }
                        }
                    }
                }
            },

            series: [{
                data:  [ data ] 
            }]
        };
    }

然后我尝试从

发送数据
$scope.renderChart = function(measurement){
        $scope.showChart = false;

        restApp.getMeasurementForCompID(comp.id, measurement.id).then(function(data){
            console.log('getMeasurementForCompID data ');
            console.log(data);
            data = [10, 20];

            $scope.example_chart = get_chart(data);
            console.log($scope.example_chart);

            $scope.showChart = true;
        });

    }

HTML

<div>
    <highchart id="dash-chart" chart='example_chart'></highchart>
    </div>

Highcharts指令

myapp.directive('highchart', function () {
return {
    restrict: 'E',
    template: '<div></div>',
    replace: true,

    link: function (scope, element, attrs) {

        scope.$watch(function() { return attrs.chart; }, function() {

            if(!attrs.chart) return;

            var chart = scope.example_chart;

            console.log('loading chart');
            console.log(chart);
            element.highcharts(chart);

        });

    }
}
});

控制台

enter image description here

但是我无法显示值为10,20的图表。 这可能是什么问题?

由于

1 个答案:

答案 0 :(得分:1)

我通过以下方式解决了我的问题

<div>
<highchart ng-if="showChart" id="dash-chart" chart='example_chart'></highchart>
</div>

谢谢