Bonjour,
Nouveau sur le framework AngularJS je suis confronte au probleme suivant : J'ai plusieurs pero qui possedent plusieurs des armes (il peut y en avoir une infinie !)
J'aimerais affichier les armes de chaque perso
Exemple
Perso1:<br/>
----Arme1<br/>
----Arme2<br/>
Perso2:<br/>
----Arme1<br/>
Perso3:<br/>
----Arme1<br/>
----Arme2<br/>
----Arme3<br/>
Pouvant avoir une infinite de perso et d'armes, pour évite le lag, j'aimerais charger les armes d'un perso juste quand l'utilisateur click sur un perso.
J'ai alors fait ceci :
Index.html :
<div ng-repeat="result in results">
<div ng-click="getArme(result)">Perso : {{result}}</div>
<div ng-repeat="result2 in results2">
<div>Arme = {{result2}}
</div>
</div>
</div>
app.js :
var app = angular.module('myApp', []);
app.controller('MainController', ['$scope', '$http',
function($scope, $http) {
$scope.getArme = function (perso) {
/*** Fonction qui fait une requette ajax grace a http() et qui mes tous les armes dans $scope.resultat2
getNamePerso('affArme.php', perso);
/***************************************/
};
$scope.getPerso = function () {
/*** Fonction qui fait une requette ajax grace a http() et qui mes tous les non des perso dans $scope.resultat
getNamePerso('affPerso.php');
/***************************************/
};
}
]);
Le probleme est que lorsqu'on click sur un perso cela va mettre les armes ce perso dans chaque perso !
Je pense que cela est du au fait que pour afficher les armes j'utilise la meme resultats2[] pour tous les persos.
J'ai peut etre une piste de reflexion : j'ai lu quelque part qu'il y avait possibilite de creer plusieur scope. On pourrait donc creer un scope pour chaque perso donc un tableau resultat2[] pour chaque perso. Le probleme c'est que je ne vois pas comment faire et je ne sais pas si c'est un solution optimiser :s
Merci
je vois que tu passes le parametre 'perso' dans la methode getArme. c'est dans cet élément que tu dois ajouter les nouvelles armes. pas dans $scope.resultat2.
C'est a dire ? As tu un exemple ?
En effet perso et une chaine de caractère, et donc comme je peux y ajouter un tableau ?
$scope.getArme = function (perso) {
// comme je ne sais pas ce que fait getNamePerso('affArme.php', perso);
// je propose un autre exemple, a toi d'adapter
// fonction qui envoie une requete au serveur
// et qui renvoie une arme
perso.arme = getArme();
};