2017-02-16 32 views
2

Я создал метод для преобразования валюты с помощью API, который выглядит следующим образом,Angular2 Pipe конвертировать валюту

exchange(Input: string, Output: string, value: number): number { 
     let inputRate = this.currencyStorage.getCurrencyRate(cnput); 
     let outputputRate = this.currencyStorage.getCurrencyRate(Output); 
     return value/ inputRate * outputputRate; 
    } 

Как я могу создать трубу из этого, который можно использовать по всему приложению для преобразования валюта ?

ответ

1
@Pipe({name: 'currConvert'}) 
export class CurrConvertPipe implements PipeTransform { 
    constructor(private currencyStorage:MyCurrencyStorage) {} 

    transform(value: number, Input: string, Output: string): number { 
    let inputRate = this.currencyStorage.getCurrencyRate(cnput); 
    let outputputRate = this.currencyStorage.getCurrencyRate(Output); 
    return value/ inputRate * outputputRate; 
    } 
} 

зарегистрировать его с модулями declarations и использовать его как

{{123 | currConvert:456 /*input*/:789 /*output*/}} 
+0

{{123 | currConvert:EUR:USD}}
я сделал так, он говорит неопределенную – Sajeetharan

+0

Я думаю, вы имеете в виду '\t

{{123 | currConvert:'EUR':'USD'}}
' символьные строки нужны кавычки. –

+0

Один вопрос, будет ли труба работать, когда мы изменим параметр без обновления страницы? – Sajeetharan