2017-02-13 84 views
1

我要去基於價值使用管道過濾掉一些JSON和顯示名稱角2管道從過濾嘴JSON

這是我的JSON

bankAccountUsage = [ 
 
    { value: 1, name: "x" }, 
 
    { value: 2, name: "y" }, 
 
    { value: 3, name: "z" } 
 
    ];

這是PIPE:

import { Pipe, PipeTransform } from '@angular/core'; 
 
import { StaticValuesService } from '../../services/static-values.service'; 
 
import { } from '../../services/static-values.service'; 
 

 
@Pipe({ 
 
    name: 'accountUsageType' 
 
}) 
 
export class AccountUsageTypePipe implements PipeTransform { 
 
    private Accounusages; 
 
    transform(value: number, args?: any): any { 
 
     this.Accounusages.filter(val => { 
 
     if (val.value === value) { 
 
     console.log(val); 
 
     return val.name; 
 
     } 
 
     
 

 
    }); 
 
    } 
 
    
 
    constructor(private _statcvalues: StaticValuesService) { 
 
    this.Accounusages = this._statcvalues.bankAccountUsage; 
 
    
 
    } 
 

 
}

這是CONSOLE.LOG(VAL)的結果

Object {value: 1, name: "x"} 

HTML:

 <td>{{account.AccountType | accountUsageType}}</td>

但結果是空

感謝

+0

如果我把回到那裏,這是我所得到的'[對象的對象]' –

回答

1
  1. 您錯過了return聲明;
  2. value是一種原始的variable,所以,管必須回報,當然,單variable。你可以使用Array#find方法,如下:
return this.Accounusages.find(val => val.value === value); 
+0

如果我把回到那裏,這是我得到[對象的對象] –

+0

這是Json的'{value:1,name:「x」}'所以我認爲val.name是正確的 –

+0

檢查編輯版本。 – developer033