2014-02-07 95 views
1

我是新来angularjs创建动态网格,我想创建一个12格* 12在angularjs

我可以使用下列选项得到它 - 1.使用嵌套的for循环和附加元素的父div适当。 2.创建静态网格

但以上选项根本不涉及角度框架。 :(

什么是最好的方式做角?意味着我应该在哪里写循环(在控制器?)以及它将如何呈现?我试过ng-repeat但我找不到方法来完成它(什么数据我应该循环?)

我的理解是,这可能是愚蠢的问题:(

回答

3

你的确可以使用NG-重复,这就是我所做的这看起来像:。

HTML

<table> 
    <tbody> 
    <tr ng-repeat="row in tableData track by $index" ng-model="row"> 
     <td ng-repeat="cell in row track by $index" "ng-model="row[$index]"> 
     <!-- awesome content --> 
     </td> 
    </tr> 
    </tbody> 
</table> 

如果你想一个12 * 12,你需要在你的控制器定义数组的数组12 * 12:

JS

$scope.tableData = [ 
    ["A1","B1","C1",..."M1"], 
    //... 
    ["A12","B12","C12",..."M12"] 
] 

或者你可以看看ng-grid,这是来自Angular-UI团队的精彩作品:http://angular-ui.github.io/ng-grid/

编辑

如果您不需要重复一个数组,但只有次确定的数量,你应该this question看看;)

+0

感谢您的答复,但我不想要像'tableData'这样的控制器中的任何数据,因为没有什么东西想存储每个元素。并在动态尺寸的情况下,我需要重新创建数组。将尝试它!谢谢。 – Pranav

+0

已更新的答案!我添加了一个链接,如果你不觉得需要使用ng-grid来解决这个问题:) – glepretre

+0

对于迟到的回复感到抱歉,它帮助了我很多,我也通过创建对象网格来实现它,并且我意识到没有该对象数组我没有任何处理。所以!非常感谢。 – Pranav