Правильные значения для innerHTML и перевода Angular - PullRequest
0 голосов
/ 26 сентября 2019

В переводе JSON у меня есть что-то вроде этого

"Take": "The '<b>{{Name}}</b>' is assigned to user <b>{{user}}</b> until <b>{{Date}}</b>"

Но когда я пытаюсь что-то подобное в HTML

<p [innerHTML]="'Take' | translate: '{ Name: options.Name, user: options.user, Date: options.date }'">
</p>

И объект

options = {
Name: John,
user: Rambo,
Date: 22/02/1997
}

Iполучил эту ошибку ОШИБКА SyntaxError: Неверный параметр в TranslatePipe.Ожидается действительный объект, получено: Я не знаю, где я ошибаюсь?

Ответы [ 2 ]

4 голосов
/ 26 сентября 2019
translate: '{ Name: options.Name, user: options.user, Date: options.date }'

Означает вашу отправку строки.

Попробуйте с

translate: { Name: options.Name, user: options.user, Date: options.date }
0 голосов
/ 26 сентября 2019
<p [innerHTML]="'Take' | translate: { Name: options.Name, user: options.user, Date: options.date }">

- правильный синтаксис.

Я тоже иногда путался с этим.Ниже приведен более сложный пример использования.Поделитесь здесь, в случае, если позже вам может понадобиться.

[attr.aria-label]="(_variable1$ | async) ? ('translateVariable' | translate: { translateProperty: _variable2 }) : ''"
...