web-dev-qa-db-ja.com

Angular ng-repeat with array length condition

ng-repeat to runphotos.length > 1

これを行うとうまくいかないようです:

<div ng-repeat="thumb in photos | photos.length > 1">

これを行うための簡単なトリック/エレガントな方法はありますか?配列の長さをチェックする必要があるだけで、他には何も凝っていません。

私はこのようなことをして別の配列に配列を複製したくない

if (oldArray.length > 1)
 newArray = photos;
else
 newArray = [];

...そしてng-repeat on newArray。これは非効率的です。

ありがとう。

16
HP.

試してください:

<div ng-repeat="thumb in photos" ng-if="photos.length > 1"></div>

ng-if条件が満たされない場合、これらの要素はDOMから削除されます。詳細については、 http://docs.angularjs.org/api/ng/directive/ngIf を参照してください。

39
kamilkp

Ng -ifディレクティブを使用して、説明する条件を確認してみてください。

<div ng-if='photos.length > 1'> your HTML here </div>
5
rom99