来自过滤JSON的Angular 2管道

时间:2017-02-13 04:45:26

标签: angular angular-pipe

我将使用竖管过滤一些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>
&#13;
&#13;
&#13;

但结果是空的

感谢

1 个答案:

答案 0 :(得分:1)

  1. 您错过了return 声明;
  2. 您的value是原始variable,因此,管道必须返回一个variable。您可以使用Array#find方法,如下所示:
  3. return this.Accounusages.find(val => val.value === value);