如何将变量传递给angularjs工厂

时间:2015-06-24 08:14:15

标签: angularjs

我试图将一些变量传递给角度工厂,然后循环数据。

这是我拥有的

工厂:

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即可。

所以问题是属性变量。

1 个答案:

答案 0 :(得分:2)

您无法使用点表示法来引用过滤器的属性。filter[i].attribute,您需要使用filter[i][attribute]