如何在使用ng-repeat进行数据绑定后更改表结构

时间:2014-07-19 05:19:57

标签: angularjs

我有一张表格,其数据由ng-repeat

生成
<table>
    <tr ng-repeat="item in list" post-repeat-directive>
        <td>{{item.col1}}</td>
        <td>{{item.col2}}</td>
    </tr>
</table>

如果在绑定后它们在相邻的tr中具有相同的值,我想组合frist td,但如果它们不同则不执行任何操作。 我试过使用指令

app.directive('postRepeatDirective', function() {
    return function(scope, element, attrs) {
        if (scope.$last){
            // combine if they have the same value
        }
    };
});

但是在范围内。$ last,它们仍然是{{item.col1}},但不是“list”中的值。因此,所有第一个td都合并为一个。

我该怎么办?


修改
Plunkr

1 个答案:

答案 0 :(得分:0)

我自己用$ timeout来解决它,执行函数延迟几次然后完成ng-repeat

if (scope.$last) {
  $timeout(function(){
    combine_table(t);
  }, 10);
}