如何使用 json 数据输出实现角度 js 图


.controller('HomeCtrl', function ($scope, $http, $stateParams, $state, FirstHiveService) {
        var samplelineJsonData = [  
                            {
                                "month": "Jan",
                                "noOfUsers": "65"
                            },
                            {
                                "month": "Feb",
                                "noOfUsers": "59"
                            },
                            {
                                "month": "Mar",
                                "noOfUsers": "80"
                            },
                            {
                                "month": "Apr",
                                "noOfUsers": "81"
                            },
                            {
                                "month": "May",
                                "noOfUsers": "56"
                            },
                            {
                                "month": "Jun",
                                "noOfUsers": "55"
                            },
                            {
                                "month": "Jul",
                                "noOfUsers": "40"
                            }
                          ];                          
    var lineLabelsData = []; //, percentage2 = [], output = [percentage1, percentage2];
    for (var i = 0; i < samplelineJsonData.length; i++) {
        lineLabelsData.push(samplelineJsonData[i].month);
        //percentage2.push(samplelineJsonData[i].percentage2);
    }
    lineLabelsData = JSON.stringify(lineLabelsData);    
    $scope.labels1 =  lineLabelsData;
    $scope.series1 = ['Users'];
    $scope.data1 =  [[65, 59, 80, 81, 56, 55, 40]]; //lineData; //[[65, 59, 80, 81, 56, 55, 40] ];      
    //Iterating thru the json output Start    
    //Iterating thru the json output End
})

上面的代码不起作用。请让我知道上面有什么问题...我无法将 $scope.labels1 值设置为 JSON.stringify(lineLabelsData);

您正在尝试将model用作array。您应该首先在init调用中将模型声明为数组。它应该是

$scope.labels1 = [], $scope.data1 = []; 

确保此变量已在控制器初始化调用中声明。之后,您已经迭代了值并在数据中推送结果,然后您无需再次迭代。试试下面的代码片段

for (var i = 0; i < samplelineJsonData.length; i++) {
      $scope.labels1.push(JSON.stringify(samplelineJsonData[i].month));
      $scope.data1.i = parseInt(samplelineJsonData[i].noOfUsers); //Because this is an object
}

最新更新