Как заменить заполнители значениями из массива в Angular 6

У меня есть текст, исходящий из jSON, как показано ниже. Я хотел бы заменить [валюта: а] на доллар США и [валюта:b] на 50М и так далее. Обратите внимание, что это должно быть динамическим, я имею в виду, что заполнители могут увеличиваться. Может ли кто-нибудь помочь, как это сделать в Angular 6.

{
"Text":"Not to exceed [currency:a][amount:b] in respect of General Aviation liability primary lines </li><li>not to exceed [currency:c][amount:d] in respect of Airline Liability,[currency:e][amount:f]"
"placeHolderValues": {
    "a": " 'USD'",
    "b": " '50M'",
    "c": " 'GBP'",
    "d": " '100M'",
    "e": " 'HKD'",
    "f": " '150M'",
     } 
}
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
0
0
433
2

Ответы 2

Вероятно, вам следует использовать pipe, который принимает переменные и возвращает всю строку, например:

transform(currencies: string[], amounts: number[]): string {
  return `not to exceed ${currencies[0]}${amounts[0]} in respect of Airline Liability,${currencies[1]}${amounts[1]}`;
}

Вы должны иметь возможность сделать его общим, чтобы он принимал больше значений и строк для замены, просто добавьте больше параметров.

Затем в вашем шаблоне вы можете использовать канал, например:

<input type = "text" [placeholder] = "'base string' | addCurrencies" />

Спасибо за ответ. это не Вход. Мне нужно отобразить это в пользовательском интерфейсе. окончательный результат должен быть похож

Santosh Shiva Kumar 21.03.2019 17:59

Спасибо за ответ. Мой вывод должен быть таким, как показано ниже: не превышать 50 миллионов долларов США в отношении основных линий ответственности авиации общего назначения </li><li>не превышать 100 миллионов фунтов стерлингов в отношении ответственности авиакомпаний, 150 миллионов гонконгских долларов. Не могли бы вы сообщить мне, как мы можем заменить их во время рендеринга.

Santosh Shiva Kumar 21.03.2019 18:03

Сделайте геттер и привяжите его к [placeholder]. Это сработает.

get text() {
  const currency = this.currency.placeHolderValues
  return `Not to exceed ${currency.a}${currency.b} in respect of General Aviation liability primary lines not to exceed ${currency.c}${currency.d} in respect of Airline Liability,${currency.e}${currency.f}`
}
<input [placeholder] = "text" style = "width: 100%">

стекблиц: https://stackblitz.com/edit/angular-x8u8bm

Спасибо за ответ. Мой вывод должен быть таким, как показано ниже: не превышать 50 миллионов долларов США в отношении основных линий ответственности авиации общего назначения </li><li>не превышать 100 миллионов фунтов стерлингов в отношении ответственности авиакомпаний, 150 миллионов гонконгских долларов. Не могли бы вы сообщить мне, как мы можем заменить их во время рендеринга.

Santosh Shiva Kumar 21.03.2019 18:02

Это можно сделать с помощью геттера. Я обновил стекблиц.

zmag 22.03.2019 02:12

Привет, я не нашел никаких обновлений в stackblitz. Не могли бы вы поделиться последними. Как уже упоминалось, текст должен быть отображен с замененными значениями. Спасибо за помощь

Santosh Shiva Kumar 22.03.2019 08:14

Забыл сохранить. Обновлено снова.

zmag 22.03.2019 08:17

спасибо за обновление, теперь я это вижу. Здесь, в геттере, нам нужно написать всю строку. Для меня текст будет динамичным и никогда не знаешь, какой текст придет. SO Мне нужна функция, которая принимает Text и placeHolderValues ​​в качестве входных данных и возвращает строку с правильными значениями. Спасибо за помощь.

Santosh Shiva Kumar 22.03.2019 08:33

любая помощь на этом одном pls.

Santosh Shiva Kumar 22.03.2019 12:27

Другие вопросы по теме