Я использовал цикл for, чтобы поместить все элементы массива в vm.klassen
. Я использовал console.log, чтобы увидеть, все ли элементы помещены в vm.klassen
, что и есть.
Я пытаюсь показать результаты в интерфейсе, но он показывает только последний результат.
Для цикла:
if (vm.tijdvak.klassen.length > 1) {
for (i = 0; i < vm.tijdvak.klassen.length; i++) {
vm.klassen = vm.tijdvak.klassen[i].naam
console.log(vm.klassen)
}
}
HTML:
<p ng-if="vm.klassen">Klassen: <pre ng-if="vm.klassen">Namen: {{ vm.klassen }}</pre></p>
Что я делаю неправильно и почему он показывает только последний результат, пока он показывает каждый результат в console.log?
Он показывает последний, потому что вы назначаете текущий указатель naam
vm.klassen = vm.tijdvak.klassen[i].naam
Он заменит предыдущий naam
Все, что вам нужно, это ng-repeat
Как это
<div ng-repeat="klassen in vm.tijdvak.klassen">
{{klassen.naam}}
</div>
{{klassen.naam}}
, верно?
Вы переопределяете vm.klassen
в каждом цикле цикла. Если вы хотите, чтобы vm.klassen
был массивом имени, вы можете сделать что-то вроде этого: vm.klassen.push(vm.tijdvak.klassen[i].naam)
. Разумеется, объявим vm.klassen
как массив перед циклом for: loop vm.klassen = []
vm.tijdvak.klassen.length > 1
верно только в том случае, если есть 2 или более ... вы это знаете, верно?