关于如何确定滤出元素数量的this问题,我创建了以下角度代码:
<input type="text" ng-model="query" placeholder="Enter query...">
<div ng-if="filteredData.length!=data.length"> Showing {{filteredData.length}} of {{data.length}}</div>
<div ng-repeat="datum in filteredData = (data | orderBy: 'name' : reverse | filter:query)">
....
</div>
但是,出于某种原因,filteredData
实际上从未实际设置,Showing of 10
始终显示。我使用this回答来获取我的控制器的范围变量,但是filteredData
没有出现在那里,尽管所有其他变量都出现了。
另外值得注意的是:重复的内容工作正常,只是filteredData
没有设置。
答案 0 :(得分:0)
我相信这是因为你试图在ng-repeat中设置filteredData。
您应该将filteredData设置为控制器中过滤的数据集。这样你只需循环重复声明。
<div ng-repeat="datum in filteredData | orderBy: 'name' : reverse | filter:query">
....
</div>
也许值得注意的是,ng-repeat中的角度滤波器不会编辑阵列的长度。因此,如果您的代码实际上是DID,则filteredData.length就不会发生变化。