如何在ng-repeat指令中从函数创建或返回单独的作用域

时间:2015-08-16 22:31:40

标签: javascript angularjs closures angularjs-ng-repeat

基本代码:

  <tr class="" ng-repeat="row in resultOfFiltering">
       <td class="{{result[1]}}" ng-repeat="result in   createTableBody(row)">{{ result[0] }}</td>
  </tr>

当观察通知在搜索输入中发生更改或者选择了新的基本源时,resultOfFiltering会更改,因为应该创建新的表体

执行createTableBody以在嵌套字段之后进行搜索,并在tr中创建正确的td顺序和数量。

问题:我想我知道问题是什么,问题是所有结果都会引用createTableBody函数的最后一次执行,所以问题是如何为每个函数执行创建一个单独的作用域?

createTableBody函数

this.createTableBody = function(obj){

       var headers = $rS._headers,
        giveBack;

    if(obj.headers !== headers.length) {

        var num = obj.headers;

        if(!angular.isArray(headers[num])){
          giveBack = obj[headers[num]];
        }else{
          giveBack = that.giveBackNestedValues(obj, headers[num]);
          obj.headers += 1;
          return giveBack;
        }
        obj.headers += 1;
        return [giveBack, headers[num] ];
    } else {
        return [undefined,'HideThisRow'];
    }

 };

我尝试在函数(){return something}中使用wrapp返回以创建uniq范围,但它没有修复我的问题。

0 个答案:

没有答案