Я пытаюсь найти способ добавить маршрутную ссылку к данным, полученным из внутреннего API.Я пытался добавить <a routerLink="...">...</a>
в данные бэкэнда, чтобы потом использовать bypassSecurityTrustHtml()
, но он не работает.
Интересно, должен ли я использовать суб-шаблон .html или я могу полностью управлять им из TypeScript?
РЕДАКТИРОВАТЬ 1: Вот данные, которые я получаю со спины:
{
"status":"OK",
"result":{
"chmn":[
{
"id":267,
"number":"",
"hanzi":"\u4e00",
"simplified":"",
"mnemonics":"one; <a>\u58f1<\/a> <a>\u7532<\/a>; <a>\u4f96<\/a> <a>\u4fde<\/a> <a>\ud842\udf9b<\/a> <a>\u4ee4<\/a> <a>\u5f10<\/a> <a>\u6b66<\/a> <a>\u6238<\/a> <a>\u81f3<\/a> <a>\u767e<\/a>;",
"alike":"",
"mine":false,
"meaning":"",
"reference":"",
"remnant":false
}
]
}
}
Я пытаюсь получить замену пустого <a>\u58f1<\/a>
на <a routerLink="/details/\u58f1">\u58f1</a>
для создания динамическогоссылка на маршрут.Но если я прямо добавлю это в ответ бэкэнда, Angular не будет рассматривать его как реальную связь с маршрутизатором.
РЕДАКТИРОВАТЬ 2: Благодаря Стефану, вот решение, которое я использовал:
res.result.chmn.forEach(element => {
element.mnemonics = element.mnemonics.split(/(\p{Script=Hani})+/gu);
});
и в шаблоне:
<span *ngFor="let mnemonic of kanji.mnemonics">
<span *ngIf="mnemonic.length > 1" [innerHTML]="mnemonic | sanitizeHtml"></span>
<a *ngIf="mnemonic.length == 1" routerLink="/details/{{mnemonic}}">{{mnemonic}}</a>
</span>