[英]Angular -> ng-repeat filtered array variable
下面,我将链接到我在Plunker中的示例,以向您展示我的问题。 在ng-repeat
我使用array(filtrowane)
来存储来自过滤器结果的数据,我还在输入上添加了ng-change,以在控制台中显示filtrowane.length
的值。 变量filtrowane在控制器中定义,键入一些内容后,它在控制台和视图中显示不同的值,您能告诉我为什么吗?
PS。 运行您的Web浏览器控制台,您将看到区别。
使用ng-blur
而不是ng-change
<input type="text" ng-model="search" ng-blur="sprawdzFiltr()">
这是由于ng-change
可能是在应用过滤器之前执行的,因此将采用旧值。
更改值时,首先调用ng-change,然后$ digest启动,这将更新filtrowane
。 如果使用这样的符号:
item in filtrowane = (tablica | filter:search)
不要在控制器中使用filtrowane
。 HTML应该是view,因此您不应在其中声明在模型(js)中使用的任何变量。
在这里查看: http : //plnkr.co/edit/QAHlbuZqWX4szglvMP87?p=preview此代码与您的代码相同,但是过滤是在javascript中完成的。 稍微复杂一点,但是事情更清楚了。 (对于大型数组也更好)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.