角图表的数据属性中的表达式.js

时间:2015-08-20 19:21:09

标签: javascript angularjs angularjs-scope angularjs-ng-repeat chart.js

您好我尝试在数据属性中使用像

这样的表达式
      <div ng-repeat="item in items">
        <canvas data="getTheData(item.value)"></canvas>
     </div>

并在控制器中

var getData = {
    first: function(){ return angularFactory.getData() };
    second: function(){ return angularFactory.getData() };
}


$scope.getTheData = function(value){
  getData[value]().then(function(data){
      console.log(data);
    });
};

我的计划是根据用户加载的项目从工厂获取所需的数据。

问题是导致[$ rootScope:infdig]的日志永远不会停止,即使我在“item”列表中只有一个项目。

我这样做错了吗?

1 个答案:

答案 0 :(得分:1)

你可以有这样的东西,我不确定这是否会起作用

在呈现getTheData时调用DOM,您应该在该方法中传递item而不是item.value

<div ng-repeat="item in items" ng-init="getTheData(item)">
    <canvas data="item.data"></canvas>
</div>

<强>代码

$scope.getTheData = function(item){
  getData[item.value]().then(function(data){
      item.data = data;
      console.log(data);
    });
};

因此,在getData函数成功的内部,您需要设置将传递给canvas item.data属性的data值。