Angular - 具有没有ng-repeat的动态行的表?

时间:2015-03-06 16:48:10

标签: angularjs angularjs-ng-repeat

我有一个应用程序,我正在努力重新创建角度。一个部分是当前包含140个不同项目的项目列表。每个项目都有一个包含1-4行的表,以及不同数量的列(通常为6-20)。

信息的工作方式,我们确实需要展示所有要开始的项目。但是,使用ng-repeat渲染表的处理时间以及范围的大量指数数量是令人望而却步的,特别是因为一些用户将拥有较旧的计算机(尽管可能运行FF或Chrome,所以我不担心IE问题)。

我在json数组中本地拥有所有数据,我可以根据需要对其进行格式化。当然,有过滤,所以事物将被显示/隐藏。但是表中的数据是一次约束的,并且不会改变。

我真的更喜欢把这个放在模板中。我可以在javascript数组中循环它,或者以这种方式自己创建表数据。但是,在角度,模板不允许有逻辑,所以我不能这样做。

我更愿意做一切渲染客户端以提高速度,所以我不想调用服务器来渲染它。

我也可以在json中预先渲染它,并且我相信使用消毒,但这似乎是后门并且反对利益的分离,这是有争议的核心。

在这种情况下,最佳做法是什么?我想我已经尝试了所有的东西,并且角度内的任何内容似乎都不足以满足这种情况。我不想使用分页,因为用户想要滚动多个过滤的长列表。有什么建议吗?

编辑:现在有一些示例代码:

    <table id="{{::item.name}}}" class="table table-striped table-bordered table-hover table-condensed table-responsive text-center" >
        <thead>
            <tr>
                <td ng-repeat="header in ::item.tableHeader">{{::header}}</td>
            </tr>
        </thead>
        <tbody>
            <tr ng-repeat="diff in ::item.tableInfo track by $index">
                <td ng-repeat="cell in ::diff track by $index">{{::cell}}</td>
            </tr>
        </tbody>
    </table>

我使用数组因为顺序很重要,而且对象并不总是遵循顺序。同样,超过140个项目,1-4行,10-20列,范围变得非常昂贵。

0 个答案:

没有答案