-1

我使用簡單get方法如何定義angularjs變量內部腳本

var self= this; 
self.items = []; 
var fetchGraphs = function() { 
     return $http.get('/api/graph').then(
        function(response) { 
          self.items = response.data; 
          alert(self.items); 
        }, function(errResponse) { 
          console.error('Error while fetching notes'); 
        }); 
     };` 

得到以下JSON數據。

{ 
"Msg": "Running", 
"excMsg": null, 
"array1": { 
     "key1": 32, 
     "key2": 10, 
     "key3": 24 
    }, 

"array2": { 
     "key4": 42, 
     "key5": 20, 
     "key5": 22 
    }} 

現在我必須繪製數組1和數組2的圖。爲此,我不得不從get方法itself.but它給我的錯誤聲明裏面的腳本的值

「無法讀取key1的財​​產。」

誰能告訴我如何聲明數組變量,我從JSON獲得了另一個腳本文件

+0

當響應成功時,您可以使用json數據調用函數 – azad

回答

1

你不能「聲明」變量直接。您必須使用方法或訂閱事件。簡單的解決方案scope.emit等。看到這裏: Working with $scope.$emit and $scope.$on 如果你想使用fetchGraphs例如(你的方法)。

fetchGraphs().then(function(result) { 
    // do something with result array 
}); 

編輯:

如果您在這裏發佈更多的代碼的人可以幫助你有效。

1

您必須使用fetchGraph的then方法,否則返回成功方法$http的數據。

我的推薦,你可以繼續關注self.items。所以無論什麼時候改變,你都可以重新繪製你的圖。

$scope.$watch(
    "self.items", 
    function() { 
      //re-draw your graph 
      $scope.$apply(); // not needed always, just a precaution 
     } 
);