Я пытаюсь получить данные о двух случайных покемонах из Pokéapi. Я могу получить данные в порядке, но мои переменные angular $scope перезаписывают первого покемона вторым покемоном, а не сохраняют оба:
$http.get(endPoint)
.then(function(res){
$scope.pokemonName = res.data.name; // only one 'pokemonName' in $scope
});
Вы можете визуально увидеть, что покемон загружается и отображается неправильно (два одинаковых покемона вместо двух разных) в этом Пример плункера.
Я мог бы вручную объявить две отдельные переменные $scope, например:
$scope.pokemonNameOne;
$scope.pokemonNameTwo;
Но я хочу использовать ng-repeat в разметке HTML, например:
<div class='pokemon' ng-repeat="pokemon in pokemonPair">
<h2 class='name'>{{ pokemonName }}</h2>
<img src='{{ pokemonImage }}' />
<!-- etc -->
</div>
Я чувствую, что то, что я должен делать, это перебирать необходимые данные из API, затем помещать их в новый массив, созданный мной, а затем использовать мой новый массив в сочетании с ng-repeat для отображения двух случайных покемон. Однако я не уверен, является ли это слишком запутанным решением. Должен ли я действительно воссоздавать данные API в своем собственном массиве? Такое ощущение, что это было бы изобретением велосипеда. Тем не менее, я не уверен, как еще решить эту проблему, кроме «Не используйте ng-repeat», что не является маршрутом, по которому я хочу пойти, если смогу помочь, поскольку я пытаюсь изучить Angular.
Должен ли я помещать данные API в собственный массив, чтобы отображать их правильно, или есть более разумный способ использовать ng-repeat?