2017-07-04 8 views
1

のJavaScriptでフィルタを適用します。私は試しました:AngularJSは、私は、テーブルを作成するためのNGリピートを持つ代わりに、HTML

ng-init="equipmentsForPaging = (equipments | dateFilter: dateStart: dateEnd | filter: equipmentFilter)" 

しかし、それはまったく動作していませんまた、私はng-initを使用して良い考えですとは思わない。だから、とにかくjavascriptでこれを行うにはありますか?

答えて

1

$filterがあります。コントローラに注入して使用することができます。

しかし、あなたがそれを使用する場合、2つのフィルタ処理(2ループ)があるので、私の意見ではそれは良い考えではないので、フィルタを再使用します。その後、

ng-repeat="equipment in filtered = (equipments | filter: equipmentFilter | dateFilter: dateStart: dateEnd) | pageFilter: currentPage * pageSize | limitTo: pageSize

あなたはすでにあなたのビューでそのフィルタ配列を持って、あなただけのngのリピートで、それを変数に割り当て、明確なにあなたに必要な配列を括弧を使用する必要がありますあなたはちょうど使用することができます {{filtered.length}}

+0

うわー、それは簡単だとは思いません。しかし、私は2つの引数を持っているので、javascriptで 'dateFilter'を注入することができますか?そして$ filterは配列入力を変更しましたか? –

+0

It'a a filter app.filter()によって作成されます。例:.filter( 'dateFilter'、function(){戻り関数(items、fromDate、toDa te){...}); $ filter( 'dateFilter')(array、fromDate、toDate)を使用すると、 – Fetrarij

関連する問題