Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2707 connectés 

  FORUM HardWare.fr
  Programmation
  Javascript/Node.js

  filtre angular

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

filtre angular

n°2279596
yoak
négligemment lourd
Posté le 16-04-2016 à 20:33:36  profilanswer
 

salut a tous,  
 
 
Je suis en train de bricoler un custom filter sous angular, dont le but est d'exclure d'un tableau les lignes qui seraient éventuellement d'un autre tableau.
 
pour le moment, j'ai ca.
 
        $scope.test = function(pinpon) {
            $scope.Package.forEach(
                    {
                   function(toto){
                        return (toto.package_id == pinpon.package_id)
                    }}
            )
        };
 
 
pardon pour les noms des variables, ce sera remis au propre qd ca marchera [:dao]
 
les colonnes "package_id" matchent bien, en faisant des alert, ca marche bien.
 
le probleme de ma fonction est de remonter le résultat du return en haut.
mais je n'arrive pas a gérer ca.
 
pourriez vous m'y aider, siouplé ?

mood
Publicité
Posté le 16-04-2016 à 20:33:36  profilanswer
 

n°2279599
flo850
moi je
Posté le 16-04-2016 à 21:18:58  profilanswer
 

Tu sais aue tu peux faire ton filtre directement dans ton Template:
https://docs.angularjs.org/api/ng/filter/filter#!

Code :
  1. <tr ng-repeat="friend in friends | filter:{package_id: pinpon.package_id}">
  2.    <td>{{friend.name}}</td>
  3.    <td>{{friend.phone}}</td>
  4.  </tr>


sinon, avec une fonction, ça donne ça :

Code :
  1. $scope.test = function(value, index, array){
  2.   return value.package_id === pinpon.package_id
  3. }


Citation :

A predicate function can be used to write arbitrary filters. The function is called for each element of the array, with the element, its index, and the entire array itself as arguments.

 

The final result is an array of those elements that the predicate returned true for.

 



Message édité par flo850 le 16-04-2016 à 21:19:13

---------------

n°2279600
yoak
négligemment lourd
Posté le 16-04-2016 à 21:27:06  profilanswer
 

ok, merci, je vais voir ca en rentrant.
 
value, index et array, sont supposés correspondre a quoi ?
 
je dois les remplacer par des noms de variables de mon code ?  je comprend pas a quoi ca correspond,  
 
a ma décharge, j'ai jamais rien utilisé d'aussi illisible que JS :o

n°2279601
flo850
moi je
Posté le 16-04-2016 à 21:31:12  profilanswer
 

value, index et array sont les paramètres qui sont passé à la fonction de filtre. Tu peux t'en servir pour savoir si tu dois conserver ou non les éléments. Par exemple si tu ne voulais garder que les éléments pairs, tu reggarderai la valeur de index%2. Si tu ne voulais garder que les éléments présent plusieurs fois dans le tableau, tu comparerai value et le reste de array,...

  

cette fonction est appellé pour chaque élément de ta collection package, à chaque $digest.

 

Je te conseille https://developer.mozilla.org/en-US [...] JavaScript, si tu veux sécuriser tes connaissance en JS pur. Pour angular, il y a des millions de tutos

Message cité 1 fois
Message édité par flo850 le 16-04-2016 à 21:32:44

---------------

n°2279602
yoak
négligemment lourd
Posté le 16-04-2016 à 21:34:24  profilanswer
 

flo850 a écrit :

value, index et array sont les paramètres qui sont passé à la fonction de filtre. Tu peux t'en servir pour savoir si tu dois conserver ou non les éléments. Par exemple si tu ne voulais garder que les éléments pairs, tu reggarderai la valeur de index%2. Si tu ne voulais garder que les éléments présent plusieurs fois dans le tableau, tu comparerai value et le reste de array,...

  

cette fonction est appellé pour chaque élément de ta collection package, à chaque $digest.

 

Je te conseille https://developer.mozilla.org/en-US [...] JavaScript, si tu veux sécuriser tes connaissance en JS pur. Pour angular, il y a des millions de tutos


Sécuriser [:ddr555]

 

C'est cute :o

 

Merci !! Je vais lire ca

n°2279606
yoak
négligemment lourd
Posté le 16-04-2016 à 23:48:11  profilanswer
 

comment je lui dis dans quel array rechercher avec ta fonction ?

n°2279609
flo850
moi je
Posté le 17-04-2016 à 14:06:30  profilanswer
 

Dans l'exemple que je te donnes, il filtrera à partir du tableau qui est dans scope.packages, grace au ng-repeat

 

controlleur :

Code :
  1. $scope.packages= [/*ta collection*/];
  2. $scope.myFabulousFilter= function(value, index, array){
  3.   return value.package_id === pinpon.package_id
  4. };


Code :
  1. <tr ng-repeat="package in packages | filter:myFabulousFilter ">
  2.    <td>{{friend.name}}</td>
  3.    <td>{{friend.phone}}</td>
  4.  </tr>


Message édité par flo850 le 17-04-2016 à 14:07:49

---------------


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Javascript/Node.js

  filtre angular

 

Sujets relatifs
Filtre de PowerPoint à excel fonctionne pas e mode diaporamaCakePhp faire un sommaire filtre pour personne
Macro excel - décocher toutes les cases d'un filtre sauf uneQuels languages apprendre pour pouvoir faire ce genre de filtre?
Creation filtre sepiaFiltre avec contient des variables
AngularBesoin d'aide pour Filtre Excel
Sélection d'un collage via un filtre automatiqueAPEX Filtre d'arbre
Plus de sujets relatifs à : filtre angular


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR