Bonjour Je construis une application en utilisant Firebase et AngularJS. J'ai deux parents, un contenant chaque monstre dans le jeu, et un autre contenant tous les monstres que l'utilisateur a.AngularJS Passer une fonction dans ng-repeat
J'ai besoin d'un répéteur qui vide les monstres de l'utilisateur, et affiche tout le reste. J'ai essayé plusieurs méthodes, et je sens qu'en utilisant une directive, je suis très proche de quelque chose de logique.
index.html:
<div ng-repeat="monster in monsters" my-directive="monster">
<h2>{{monster.name}}</h2>
</div>
services.js
.directive('myDirective', function(Auth, $firebaseArray){
rdef =''
Auth.$onAuth(function(authData) {
var username = authData.uid;
var ref = new Firebase("firebaseurl");
var hopref = ref.child(username);
var results = $firebaseArray(hopref);
results.$loaded(function(x) {
angular.forEach(results, function(value, key){
if(myDirective.name == value.Monster){
rdef ='<div></div>'
}else{
rdef ='<div>{{ myDirective.name }}</div>'
}
});
});
});
return {
restrict: "A",
template: rdef ,
scope: {
myDirective: '='
},
link: function(scope, element, attrs) {
console.log('MyData', scope.myDirective);
}
};
});
Je suis tout à fait nouveau à angulaire, et toute aide serait très appréciée. (Je suis aussi nouveau à Stackoverflow donc si je fais quelque chose de mal, s'il vous plaît faites le moi savoir)
Merci !!!
Bonjour, merci vous beaucoup pour cela. La façon dont ma base de données fonctionne est que quand un utilisateur attrape un monstre, il mélange la base de données 'Monster' et l'ajoute dans la base de données 'UserMonsters'. Pour moi, cela semble beaucoup plus minimal que d'avoir tous les utilisateurs enregistrés sous chaque monstre? Ou est-ce que je vais dans le mauvais sens? –
Je recommanderais de créer un tableau simple qui ne contienne que des monstres que l'utilisateur n'a pas capturés. En "attrapant" un monstre, poussez jusqu'à ce tableau, et utilisez 'ng-repeat' pour n'afficher que les monstres dans votre vue. Tout ce qui pourrait être réalisé dans votre contrôleur, sans modifier la base de données. – Baltic