【问题标题】:Angular and MEAN.js $scope attributes are undefinedAngular 和 MEAN.js $scope 属性未定义
【发布时间】:2014-11-29 16:20:28
【问题描述】:

我目前正在使用 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 时,它显示未定义。

有人建议吗? 谢谢

【问题讨论】:

  • 向我们展示您在哪里记录 scope.campaign 以及您在哪里访问它的代码。
  • Campaigns.get 返回什么?
  • 尽快再次检查您的 DI!
  • @NoahMatisoff 我需要检查什么?
  • 依赖注入。

标签: angularjs angularjs-scope mean-stack


【解决方案1】:

试试

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-26
    相关资源
    最近更新 更多