2017-07-27 45 views
0

我已經創建了一個管道,用於根據對象property.keep的值對對象數組進行排序。所有具有屬性show==0show==1的對象都被刪除,沒有任何錯誤,並且可以在控制檯中看到。爲什麼管道不能正常工作?

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

你確定'.show'屬性是一種字符串,而不是數字嗎? '0'和'0'之間有很大的區別 – CozyAzure

+0

@CozyAzure它的32位intiger,即時消息在使用'0'和0時得到相同的結果0 – Ajith

+0

你能在重新運行的程序中重現問題嗎?基於我所看到的(並且試過你的代碼)它應該工作得很好:) – Alex

回答

0

因爲你不返回任何東西

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

如果你正確地看待他的語法,仍然不能正常工作 – Ajith

+1

;他確實返回了價值。如果你沒有花括號,胖箭頭符號需要'return'關鍵字。儘管如此,他將console.log作爲回調函數中的第二個參數傳遞給它沒有任何影響 – CozyAzure

0

刪除」,執行console.log(項目) 「然後重試!