我试图将一些变量传递给角度工厂,然后循环数据。
这是我拥有的
工厂:
factory.startLoop = function(filter, attribute){
var uniqueTypes = [];
for(i = 0; i< filter.length; i++){
if(uniqueTypes.indexOf(filter[i].attribute) === -1){
uniqueTypes.push(filter[i].attribute);
}
}
var input = uniqueTypes;
控制器
var category = 'category';
output = loopFactory.startLoop(firstPointFiveFilter, category);
但是当我运行它时,我对输入变量没有定义。
如果我删除该属性,只需执行filter[i].category
即可。
所以问题是属性变量。
答案 0 :(得分:2)
您无法使用点表示法来引用过滤器的属性。
filter[i].attribute,您需要使用filter[i][attribute]
。