2016-03-01 46 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。再次感謝讓我指出正確的方向。 –

相關問題