Bonjour,

Je ne parvient pas à récupérer ce que je veux de mon fichier service.js, je travail sur une application sous visual studio en ionic2 et angularjs, je cherche à vérifier un "domaine" par rapport à un tableau de domaine d'un utilisateur enregistré comme ci-dessous :

PARTIE service.js :

.factory('Jedis', function () {
    var jedis = [
{
            jedi_id: 0,
            jedi_photo: "http://urlz.fr/56E6",
            jedi_nom: "Dupont",
            jedi_prenom: "Loup",
            jedi_naissance: "23/01/1905",
            jedi_mail: "mail@isen.fr",
            jedi_phone: "0606060606",
            jedi_description: "jai un problème en angularjs",
            jedi_mdp: "MOTDEPASSE",
            jedi_mdpconfirm: "MOTDEPASSE",
            jedi_domaines: ['menuiserie,sport'],
            jedi_latitude: "43.331338",
            jedi_longitude: "5.107295",
            jedi_note: 2.5
}];

    return {
        all: function () {
            return jedis;
        },
        get: function (jediId) {
            for (var i = 0; i <= jedis.length; i++) {
                if (jedis[i].jedi_id === parseInt(jediId)) {
                    return jedis[i];
                }
            }
            return null;
        },
        getJedisBonDomaine: function (domaine) {
            for (var i = 0; i <= jedis.length; i++) {
                for (var j = 0; j <= 7; j++) {
                    if (jedis[i].jedi_domaines[j] === domaine) {
                        return jedis[i];
                    }
                }
            }
        }
    };
})

Partie controller.js :

.controller('DomaineCtrl', function ($scope, $stateParams, $state, Jedis) {
    $scope.domaine = $stateParams.domaine;
    $scope.jedis = Jedis.getJedisBonDomaine($scope.domaine);
})

Partie domaine.html :

<ion-content>
        <!--liste des résultats à la recherche -->
        <ion-list>
            <ion-item class="item-remove-animate item-avatar item-icon-right" ng-repeat="jedi in jedis | orderBy : '-jedi_note'" href="#/tab/resultats/{{jedi.jedi_id}}"
                      type="item-text-wrap">
                <img ng-src="{{jedi.jedi_photo}}">
                <h2>{{jedi.jedi_prenom}} {{jedi.jedi_nom}}</h2>
                <h3 style="color:grey;" ng-if="jedi.jedi_note > 0">{{jedi.jedi_note}}/5</h3>
                <h3 style="color:grey;" ng-if="jedi.jedi_note == null">Pas encore noté</h3>
                <p style="color:grey;">distance avec le jedi</p>
                <i class="icon ion-chevron-right icon-accessory"></i>
            </ion-item>
        </ion-list>

    </ion-content>

Ce qui fonctionne :

J'arrive à récupérer le domaine choisi par l'utilisateur sur la page précédente de l'application, mais parmi une liste de "jedis" (ici un seul pour l'exemple), je n'arrive pas ensuite à afficher seulement les "jedis" dont le domaine de compétences est celui choisi. Je n'arrive en clair pas à comparer "domaine" à "jedi_domaines[]", mon but étant de n'afficher que les jedis du domaine choisi.

Merci d'avance pour votre aide, s'il vous manque des informations pour m'aider n'hésitez pas à me demander.

1 réponse


Loup
Auteur

jimibi en effet, malheureusement les rajouter n'a pas résolu le problème, je pense que cela peut venir de ma manière de récupérer les bon jedis mais je ne vois pas comment faire autrement