Saya mencoba mendapatkan data untuk dua pokémon acak dari Pokéapi. Saya dapat mengambil datanya dengan baik, tetapi variabel sudut $scope saya menimpa pokémon pertama dengan pokémon kedua, alih-alih menyimpan keduanya:
$http.get(endPoint)
.then(function(res){
$scope.pokemonName = res.data.name; // only one 'pokemonName' in $scope
});
Anda dapat melihat secara visual pokémon dimuat dan ditampilkan dengan tidak benar (dua pokémon identik, bukan dua pokémon berbeda) di sini Contoh plunker.
Saya dapat mendeklarasikan dua variabel $scope terpisah secara manual, misalnya:
$scope.pokemonNameOne;
$scope.pokemonNameTwo;
Tapi saya ingin menggunakan ng-repeat di markup HTML, seperti ini:
<div class='pokemon' ng-repeat="pokemon in pokemonPair">
<h2 class='name'>{{ pokemonName }}</h2>
<img src='{{ pokemonImage }}' />
<!-- etc -->
</div>
Saya merasa apa yang harus saya lakukan, adalah mengulang data yang diperlukan dari API, lalu memasukkannya ke dalam array baru buatan saya sendiri, dan kemudian menggunakan array baru saya dalam kombinasi dengan ng-repeat untuk menampilkan keduanya secara acak. pokemon. Namun, saya tidak yakin apakah ini solusi yang terlalu berbelit-belit. Haruskah saya membuat ulang data API di array saya sendiri? Rasanya seperti itu akan menciptakan kembali roda. Namun, saya tidak yakin bagaimana cara lain untuk mengatasi masalah ini selain 'Jangan gunakan ng-repeat', yang bukan merupakan rute yang ingin saya lalui jika saya dapat membantu, karena saya mencoba mempelajari Angular.
Haruskah saya memasukkan data API ke dalam array buatan saya sendiri untuk menampilkannya dengan benar, atau adakah cara yang lebih cerdas untuk menggunakan ng-repeat?