我正在尝试实现一个通用表格小部件(使用 KendoUI),并使用 AngularJS 完成数据绑定。表格小部件在 HTML 文件中看起来像这样(这里的小提琴:http: //jsfiddle.net/mihaichiritescu/ULN36/35/):
<div ng:controller="Tester">
<gridview>
<div data-ng-repeat="man in people">
<gridviewcolumn datasource="name" man="man"></gridviewcolumn>
<gridviewcolumn datasource="age" man="man"></gridviewcolumn>
</div>
</gridview>
</div>
基本上,该表将有一个 ng-repeat,它将在对象列表中重复,并且对于每个对象,使用“gridviewcolumn”,我将在每一行下添加单元格。这样,我试图复制 KendoUI 表的结构,如下所示:
<div id="grid">
<div class="k-grid-header"></div>
<div class="k-grid-content">
<table>
<colgroup></colgroup>
<tbody>
<tr>
<td></td>
<td></td>
</tr>
</tbody>
</table>
</div>
<div class="k-pager-wrap k-grid-pager"></div>
<div>
因此,使用 ng-repeat,对于每个对象,我将动态添加一个新行,对于每一列,我将在最后添加的行上添加一个新单元格。不幸的是,我无法以正确复制 KendoUI 网格视图的内部结构的方式操作 ng-repeat 指令。我最终得到一个内部表结构,如下所示:
<div id="grid">
<div data-ng-repeat="man in people" class="ng-scope">
<div datamember="name" man="man" class="ng-binding">name1</div>
<div datamember="age" man="man" class="ng-binding">21</div>
</div>
<div data-ng-repeat="man in people" class="ng-scope">
<div datamember="name" man="man" class="ng-binding">name2</div>
<div datamember="age" man="man" class="ng-binding">25</div>
</div>
<div class="k-grid-header"></div>
<div class="k-grid-content">
<table>
<colgroup></colgroup>
<tbody>
<tr>
<td></td>
<td></td>
</tr>
</tbody>
</table>
</div>
<div class="k-pager-wrap k-grid-pager"></div>
<div>
我想以某种方式将 ng-repeat 指令的内容放在表格的主体中,而不是在表格上方。有谁知道如何做到这一点?
我可以使用 jquery 将内容放入单元格中,但我仍然必须从表格主体上方删除/隐藏 ng-repeat 指令及其内容,如果没有一些丑陋的黑客,我不知道该怎么做。
另外,我不一定绑定到 KendoUI gridview,但它看起来比其他的更好看,并且它可能具有与其他 table 小部件相似的内部结构,所以我也会遇到其他小部件的相同问题。
你们对如何使用 AngularJS 实现通用表有一些想法/建议吗?我确实搜索了一些使用 AngularJS 完成的表格,但我没有找到具有良好功能和外观的东西。