该图表不显示Highchart中来自$ http的数据

时间:2016-09-19 13:06:28

标签: angularjs highcharts

我在硬编码数据时得到了图表。但是当我从服务器获取数据时,我看不到图表。我在这看到很多问题,但他们没有帮助我。我使用范围变量更改数据对象,但我仍然无法获取数据 这就是我所做的:

angular.module('myModule', [])
        // Directive for generic chart, pass in chart options

        .directive('hcPieChart', function () {
            return {
                restrict: 'E',
                template: '<div></div>',
                scope: {
                    title: '@',
                    data: '='
                },
                link: function (scope, element) {
                    Highcharts.chart(element[0], {
                        chart: {
                            type: 'pie'
                        },
                        title: {
                            text: scope.title
                        },
                        plotOptions: {
                            pie: {
                                allowPointSelect: true,
                                cursor: 'pointer',
                                dataLabels: {
                                    enabled: true,
                                    format: '<b>{point.name}</b>: {point.percentage:.1f} %'
                                }
                            }
                        },
                        series: [{
                            data: scope.data
                        }]
                    });
                }
            };
        })
        .controller('myController', function ($scope,$http) {


           $scope.GType = function(){    
            console.log("GType");
            $http.get('http://192.168.1.100:5000/getPDAServiceAssignStatus')
            .then(function (response) {

            $scope.pieData = []; 
                    console.log(JSON.stringify(response)+" Res");
                    for(i=0;i<response.data.length;i++){
                        $scope.pieData.push({
                            name: response.data[i].name,
                             y:response.data[i].y

                        });
                    }
                    console.log($scope.pieData);

                });
            }
            $scope.GType();
            //  $scope.pieData = [{
            //         name: "Microsoft Internet Explorer",
            //         y: 56.33
            //     }, {
            //         name: "Chrome",
            //         y: 24.03,
            //         sliced: true,
            //         selected: true
            //     }, {
            //         name: "Firefox",
            //         y: 10.38
            //     }, {
            //         name: "Safari",
            //         y: 4.77
            //     }, {
            //         name: "Opera",
            //         y: 0.91
            //     }, {
            //         name: "Proprietary or Undetectable",
            //         y: 0.2
            // }]
        });

0 个答案:

没有答案