2

angular2パイプについて質問があります。schema:string に応じて戻り値としてパイプを取得したい。2つの方法で入手できると思いますが、どちらも機能していません。

page.html

<p>{{value | getSchema(value, schema)}}</p>

page.ts

getSchema(value, schema){
    if(schema == 'Currency'){
        return "currency: 'USD':true";
    } else if(schema == 'Number'){
        return 'number';
    }
}

また

page.html

<p>{{getSchema(value, schema)}}</p>

page.ts

getSchema(value, schema){
    if(schema == 'Currency'){
        return value + "| currency: 'USD':true";
    } else if(schema == 'Number'){
        return value + '| number';
    }
}

何かアイデアはありますか?ありがとう。

4

1 に答える 1

2

パラメータに応じて別のパイプを呼び出すカスタム パイプを使用できます。

@Pipe({name: 'genericPipe'})
class MyPipe {
  constructor(private currPipe:CurrencyPipe, private numberPipe:NumberPipe) {}
  transform(value, schema) {
    if(schema == 'Currency') {
      return this.currPipe.transform(value);
    } else {
      return this.numberPipe.transform(value);
    }
  }
}
<p>{{value | genericPipe:schema}}</p>
于 2016-11-25T20:31:42.237 に答える