#angular
#угловой
Вопрос:
У меня есть пользовательский канал, который возвращает объект, и мне нужно сослаться на свойство этого объекта во встроенном канале currency.
рассмотрим этот пример:
price-pipe.js:
@Pipe({name: 'price'})
export class PricePipe implements PipeTransform {
transform(device: any): string {
// ...some logic
return {
value: device.price,
currencyCode: device.currencyCode
}
}
}
device.html
<div>
/* I need to take "currencyCode from the price pipe and pass it as parameter to currency pipe */
{{device | price | currency}}
</div>
Есть ли способ ссылаться на предыдущее возвращаемое значение канала без настройки встроенного канала валют?
Ответ №1:
Это элегантный способ решения этой ситуации:
<ng-container *ngIf="(device | price) as priceData">
{{priceData.value | currency: priceData.currencyCode}}
</ng-container>
живой пример здесь
Ответ №2:
Вы можете использовать встроенные каналы в вашем TypeScript :
import {CurrencyPipe} from '@angular/common'
constructor(private cp: CurrencyPipe) { ... }
this.value = 12345;
this.value = this.cp.transform(this.value, 'USD': true: '1.0-0'); // $12,345