HTML:ng-repeatで可変変数名を正しく使用するにはどうしたらいいですか?
<ul>
<li ng-repeat="comic in comiclist">
<span>{{ comic.title }} : {{comic.id}}</span>
<div >
<img ng-src="{{comic.thumbnail.path}}.{{comic.thumbnail.extension}}"/>
</div>
<div>
<ul>
<li ng-repeat="character in charlist + {{comic.id}}">
<span>{{character.name}}</span>
</li>
</ul>
</div>
</li>
</ul>
JS角度
var App = angular.module('MarvelApp', []);
App.controller('MainController', function($scope,$window, $http) {
$scope.GetSeries = function(){
$http.get('http://gateway.marvel.com/v1/public/series?')
.then(function(response){
$scope.serieslist = response.data.data.results;
});
};
$scope.GetComics = function(){
$http.get('http://gateway.marvel.com/v1/public/series/' + $scope.selectedseries + '/comics?')
.then(function(response){
$scope.comiclist = response.data.data.results;
});
//comic in comiclist contains comic.id
//which needs to go to GetCharacter()
}
$scope.GetCharacter = function(comicid){
$http.get('http://gateway.marvel.com/v1/public/comics/' + comicid + '/characters')
.then(function(response){
$scope.['charlist' + comicid] = response.data.data.results;
//this list needs to be displayed in the second ng-repeat
});
};
});
と私は右のdivに表示する文字のリストを取得したいのですが。どのように前にセットアップしたのですか($scope.['charlist' + comicid]
なし)、それは他のngリピートもオーバーライドしていました。
また、GetComics()
が呼び出されると自動的にそれを行います。
"angle.js:13920 TypeError:未定義の '60151'プロパティを設定できません" これは私が今$ scope.charlistに取得したエラーです。[comicid] = ...; 60151は漫画である – KevHau
技術的には、JavaScriptには連想配列がありません。インスタンス化が必要な(配列)オブジェクトと考えることができます。 "$ scope.charlist = [];"という行を追加します。あなたのコントローラの上部にあります。その後、$ scope.charlist [comicid] = ....への参照がうまくいくはずです。 – Paurian
が動作します:)ありがとう! – KevHau