Я использую ng-repeat в элементе списка для отображения доступных предметов супермаркета. Элементы извлекаются с использованием $ http как JSON и хранятся в $ scope.items, а ng-repeat отлично работает, чтобы отобразить все из них. Моя проблема в том, что есть 20 из этих элементов, и я хочу ограничить число отображаемых, скажем, 3. Я пытаюсь использовать фильтр limitTo безрезультатно. Вот скриншот, показывающий отображаемые элементы, но без ограничения, несмотря на фильтр, устанавливается:AngularJS ngRepeat не соблюдает limitTo filter
http://i.imgur.com/4HiSdoG.png
Мой HTML выглядит следующим образом:
<span class="item-choices-choice pull-left">
<ul>
<li ng-repeat="choice in items.0 | limitTo:3">
<img src="{[{ choice.ImagePath }]}" class="img-rounded" /> {[{ choice.Name }]} <strong>{[{ choice.Price }]}</strong>
</li>
</ul>
</span>
Спасибо за любую помощь
EDIT:
Я попытаюсь объяснить еще несколько вещей: Я переписал {{{{{в AngularJS, поскольку он конфликтует с Twig иначе ,
пунктов устанавливается как массив в контроллере:
$scope.items = [];
Вот JSON я получаю от запроса AJAX:
Это JSON получает истолковано $ HTTP и присвоенной до $ scope.items [0]. AngularJS, кажется, работает отлично в каждом случае, кроме этого.
Нам нужна дополнительная информация. показать структуру 'items.0' (кстати, почему так странное имя для свойства?) –
@Stewie' items.0' не оценивается JavaScript. Угловая делает оценку, и она работает. Это не мой первый выбор для структурирования/записи моего кода, но он работает: http://codepen.io/BrianGenisio/pen/uFqlm –
Привет, элементы - это массив, содержащий массив из 20 вариантов в каждом элементе , items.0 - это первый элемент, который содержит соответствующие 20 вариантов, а элементы.1 будут иметь разные и т. д. –