获取ng-Show显示的列表长度

时间:2016-01-15 13:40:57

标签: angularjs ngtable

我正在使用Vraptor + Angular,问题很简单。 我用ng-show隐藏了表格中的一些行,但是我想要显示实际行的计数/长度。

示例:我在$ data上有10条记录。但是当我使用ng-show时,它只显示5条记录。当我使用$ data.length时,它返回10,但我希望它返回5.

表格

<table data-ng-table="$tableUsuario.params">
    <tbody >
        <tr data-ng-repeat="usuario in $data | filter:search:strict" 
         data-ng-show="usuario.ativo == filtroAtivo && (filtroPerfil == null || usuario.perfil == filtroPerfil )">

2 个答案:

答案 0 :(得分:0)

我对这个问题有点困惑,但你可以使用:

$data.length获取您的数据总数。

$index的{​​{1}}获取当前行/长度。

然后,您可以在ng-repeat中使用这两个值。

答案 1 :(得分:0)

这是事情,一方面你可以检查DOM并查看你有多少可见行,这将回答你的问题,但这是非常糟糕的解决方案,这将使你的角度应用程序的性能更糟,而不是真正的角度 - 做事的方式。

您拥有的另一个选择是创建自己的过滤器并使用它,在这种情况下,您将能够告诉过滤器中有多少项。

我认为最好的第三个选项是创建另一个范围变量并仅用过滤后的项目填充它,当然你需要将它与主列表保持同步,你可以使用{{1您的范围的{}和$watch方法

$watchCollection

虽然请记住,既然您使用的是严格过滤器,然后使用自己的过滤器,则需要调整updateFiltered以包含您拥有的所有3个条件 - filter,ativo和peril