2017-07-27 1 views
0

J'ai créé un tube pour trier un tableau d'objets basé sur la valeur de l'objet property.keep tous les objets avec la propriété show==0 et show==1 sont supprimés, il n'y a aucune erreur et peut être vu dans la console.Pourquoi le tuyau ne fonctionne pas?

pipe.ts

@Pipe({ 
    name: 'menufilter' 
}) 
@Injectable() 
export class MyMenuFilterPipe implements PipeTransform { 
    transform(items: any[], args: any[]): any { 
     if (items) { 
      return items.filter(item => item.show == '0',console.log(item)); 
     } 
    } 

app.html

<tr *ngFor="let menu of specificmenus|menufilter" > 
    <td >{{menu.name}}</td> 
</tr> 
+0

Êtes-vous sûr que la propriété '.show' est un type de chaîne, et non un nombre? Il ya une grande différence entre ''0 '' et' 0' – CozyAzure

+0

@CozyAzure Son initiateur 32 bits, im obtenir le même résultat dans la console en utilisant '0' et 0 – Ajith

+0

Pourriez-vous reproduire le problème dans un plunker? Basé sur ce que je vois (et a essayé votre code) cela devrait fonctionner très bien :) – Alex

Répondre

0

Parce que vous n'êtes pas tout retournerez

transform(items: any[], args: any[]): any { 
    if (items){ 
     return items.filter(item =>{ 
     console.log(items) 
     return item.show=='0'; 
     }) 
     } 
    } 
+0

Toujours ne fonctionne pas – Ajith

+1

si vous regardez sa syntaxe correctement; il a renvoyé la valeur. Les notations de flèche Fat exigent le mot-clé 'return' si vous n'avez pas les accolades. Cependant, il n'y aura pas d'effet de passage dans le fichier console.log comme deuxième argument dans le rappel – CozyAzure

0

Supprimer », console.log (point) "Et réessayez!