Angular ng-repeat с условием длины массива

Я хочу, чтобы ng-repeat запускался только тогда, когда photos.length > 1

Выполнение этого не работает:

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

Есть ли какой-нибудь быстрый трюк/элегантный способ сделать это? Мне просто нужно проверить длину массива и ничего другого.

Мне бы не хотелось дублировать массив на другой массив, сделав что-то вроде этого

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

... и затем ng-repeat на newArray. Это кажется неэффективным.

Спасибо.

Ответы

Ответ 1

Try:

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

если условие ng-if не выполняется, эти элементы будут удалены из DOM. Подробнее см. http://docs.angularjs.org/api/ng/directive/ngIf.

Ответ 2

Вы можете попробовать использовать директиву ng -if, чтобы проверить условие, которое вы описываете, например.

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