2014-10-06 80 views
0

我目前正在開發一個帶有Angular和MEAN.js的小應用程序。 我想用一些來自模型的真實數據繪製D3圖表。 爲此,我將不得不從$ scope.campaign變量中讀取數據,並使用數組$ scope.campaign.tokens中的數據初始化$ scope.dataBarChart。

// Find existing Campaign 
$scope.findOne = function() { 
    $scope.campaign = Campaigns.get({ 
     campaignId: $stateParams.campaignId 
    }); 

    $scope.dataBarChart = [ 
     { 
     'key': 'Token Requested', 
     'values': [['10.10.2014', 550000], ['11.10.2014',300000]] 
     }, { 
     'key': 'Token Consumed', 
     'values': [['10.10.2014', 250000], ['11.10.2014',200000]] 
     } 
    ]; 
}; 

當我嘗試記錄$ scope.campaign的值時,我得到了所需的所有數據。不幸的是,當我嘗試訪問$ scope.campaign.tokens時,我得到一個不可能從未定義的值訪問令牌的錯誤。基本上,似乎沒有數據,但我從日誌中知道不是這樣的。

完整的代碼僅僅是相同的,但用的console.log線

// Find existing Campaign 
$scope.findOne = function() { 
$scope.campaign = Campaigns.get({ 
    campaignId: $stateParams.campaignId 
}); 

console.log($scope.campaign) 

$scope.dataBarChart = [{ 
    'key': 'Token Requested', 
    'values': [['10.10.2014', 550000], ['11.10.2014',300000]] 
    }, { 
    'key': 'Token Consumed', 
    'values': [['10.10.2014', 250000], ['11.10.2014',200000]] 
}]; 
}; 

中的console.log顯示正確的內容,但是當我嘗試使用它$ scope.campaign.tokens,它說未定義。

有人建議嗎? 感謝

+1

向我們展示你在哪裏登錄scope.campaign和你在哪裏訪問它的代碼。 – lmyers 2014-10-06 19:49:38

+0

Campaigns.get返回什麼? – 2014-10-06 19:49:41

+0

儘快仔細檢查你的DI! – 2014-10-06 19:52:15

回答

1

嘗試

$scope.campaign.$promise.then(function(data) { 
    console.log(data.tokens) 
});