【发布时间】:2014-10-13 14:03:26
【问题描述】:
在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。
【问题讨论】:
-
请看这里jsbin.com/xuyuy/3/edit我已经使用了你的代码,一切看起来都很好。控制台有什么错误吗?
-
@sss 我发现了这个问题。这是因为我的
ng-repeat被包裹在ng-if中,而其余代码则没有。但是,ng-if始终评估为 true,所以我不知道为什么ng-if会导致问题。
标签: javascript html angularjs angularjs-ng-repeat