Распечатка массива в html с помощью ng-repeat

0

У меня есть массив двойников (они в конечном итоге превращаются в парные) в моем контроллере, который я пытаюсь напечатать на своей веб-странице с помощью ng-repeat, но я не уверен, как это сделать. Массив просто ":

vm.calorieArray = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0];

где vm - псевдоним моего контроллера.

В моем html у меня есть div, который выглядит так, который пытается распечатать его:

<div ng-repeat="value in vm.calorieArray">
    {{value}}<br />
</div>

но на странице ничего не отображается. Кто-нибудь видит проблему?

  • 0
    выглядит правильно для меня, это, вероятно, что-то еще, вы должны опубликовать больше. Вы объявили нг-приложение?
  • 1
    что ты видишь в консоли?
Показать ещё 3 комментария
Теги:
ng-repeat

2 ответа

2
Лучший ответ

Проблема может быть из-за дублирования значений, которые не разрешены в ng-repeat. См. Этот плункер для примера проблемы. (Откройте консоль dev, чтобы увидеть ошибки JS). Описание ошибки можно найти здесь.

Короче говоря, вы должны использовать "track by $ index", как показано ниже:

<div ng-repeat="value in calorieArray track by $index">
    {{value}}<br />
</div>
0

Вот скрипка с вашим примером: http://jsfiddle.net/JKBbV/743/

Контроллер такой же простой, как:

myApp.controller("myCtrl", function($scope) {
    $scope.values = [0,0,0,0,0.1];
});

Я предполагаю, что ваше приложение не инициализируется правильно, или вы не привязываете свой массив к области $scope.

  • 0
    если вы используете не старую угловую версию, вы получите ошибку: Ошибка: [ngRepeat: dupes] Дубликаты в повторителе не допускаются. Используйте выражение «track by» для указания уникальных ключей. Повторитель: значение в значениях, Дубликат ключа: номер: 0, Дубликат значения: 0 : jsfiddle.net/JKBbV/742

Ещё вопросы

Сообщество Overcoder
Наверх
Меню