2016-03-01 88 views
0
function getPort() { 
    $http.get($scope.newPort()) 
    .then(function(res) { 
    $scope.scvalues = res.data; 

    }); 
    } 


$scope.dataset= [ 
    { 
     "seriesname": $scope.scvalues.DataType, 
     "Data": $scope.scvalues.Values.Data 
    }]; 

HTML

<fusioncharts 
width="100%" 
height="600" 
type="zoomline" 
chart="{{attrs}}" 
categories="{{categories}}" 
dataset="{{dataset}}"> 
</fusioncharts> 

我试图把一个数字串从JSON这个融合的图表,但我无法弄清楚如何从功能中获得scvalues。我试过返回它,但它打破了功能,我试过在HTML中使用表达式,但是打破了图表。我知道$ scope.dataset下的代码是错误的,但我只是把它放在那里以帮助解释我的意图。谢谢你的帮助。

+1

你不能。将它们设置在'then()'回调内 – charlietfl

回答

0

你需要做这样的事

function getPort() { 
      $http.get($scope.newPort()) 
      .then(function(res) { 
       $scope.scvalues = res.data; 
       $scope.dataset= [ 
       { 
        "seriesname": $scope.scvalues.DataType, 
        "Data": $scope.scvalues.Values.Data 
       }]; 
      }); 
     } 

由于您使用的是Promise和它的异步。

+0

谢谢,似乎工作。 $ scope.scvalues.DataType正在填充图表的“seriesname”字段。 $ scope.scvalues.Values.Data是未定义的,当我尝试对scvalues.Values执行警报时,它显示[Object object]。 –

+0

尝试使用console.log($ scope.scvalue.Value.Data)在控制台上显示它;并打开这个对象并检查你的属性。 –

+1

我能够得到第二部分在for循环中使用scvalues.Values。再次感谢让我指出正确的方向。 –

相关问题