[英]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.