Валютная труба с динамическим аргументом - PullRequest
0 голосов
/ 14 сентября 2018

this:

<div *ngIf="isMonetary(col)">
  {{ row[col] | currency }}
</div>

работает, но по умолчанию работает с долларом.

документы (https://angular.io/api/common/CurrencyPipe) говорят, что первым аргументом, который вы можете передать, является валюта в ISO 4217стандарт

У меня есть валюта в стандарте ISO 4217, но она ДОЛЖНА быть динамической. Она не для компонента или для таблицы, а для каждой записи в таблице.

Валютный канал Angular отказывается интерпретировать икаким-то образом ожидает, что аргументы будут статическими:

это читается как строка, и записанная строка "getCurrency (row)" появляется на моей странице после денежного значения:

<div *ngIf="isMonetary(col)">
  {{ row[col] | currency:'getCurrency(row)' }}
</div>

этоОшибка синтаксиса HTML:

<div *ngIf="isMonetary(col)">
  {{ row[col] | currency:'{{row['currency']}}' }}
</div>

и вот так:

<div *ngIf="isMonetary(col)">
  {{ row[col] | currency:'{row['currency']}' }}
</div>

и вот так:

<div *ngIf="isMonetary(col)">
  {{ row[col] | currency:{row['currency']} }}
</div>

и вот так:

<div *ngIf="isMonetary(col)">
  {{ row[col] | currency:'row['currency']' }}
</div>

есть ли выход из этого? (Нет, я не собираюсь ставить *ngIf="" для каждой существующей валюты).

Ответы [ 3 ]

0 голосов
/ 14 сентября 2018

Попробуйте это:

<div *ngIf="isMonetary(col)">
  {{ row[col] | currency:row['currency'] }}
</div>
0 голосов
/ 14 сентября 2018

В каждой из ваших попыток вы помещаете значение для интерпретации в одну кавычку

например

{{ row[col] | currency:'getCurrency(row)' }}

Просто удалите эти кавычки и угловые будут интерпретировать их правильно, есливаш метод getCurrency () возвращает строку ISO 4217

{{ row[col] | currency:getCurrency(row)}}

0 голосов
/ 14 сентября 2018

Я понял это с чистой грубой силой

это:

{{ row[col] | currency:(row['currency']) }}
...