您好我尝试在数据属性中使用像
这样的表达式 <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”列表中只有一个项目。
我这样做错了吗?
答案 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
值。