Estoy haciendo un proyecto Angular, y tengo dos métodos simples en un archivo mecanografiado como se ve:
findForm(text: string, forms: Array<string>){ for (let form of this.forms) { if (text.includes(form)) { return form; } } } formatText(text: string, word: string) { let new_text: string; let word_at: number = text.indexOf(word); let word_length: number = word.length; let part1: string = text.substr(0, word_at); let part2: string = text.substr(word_at + word_length, text.length - 1); new_text = part1 + "<b>" + word + "<b>" + part2; return new_text; }y ahora estoy tratando de llamar a estos dos métodos en un archivo HTML:
<div class="mb-3" *ngFor="let sentence of category.sentences"> <li> {{formatText({{sentence}},{{findForm({{sentence}},{{forms}})}})}} </li> </div>donde {{form}} es una matriz del mismo archivo mecanografiado
Sin embargo, me sale este error aunque pongo dos argumentos, no uno:
Expected 2 arguments, but got 1. in both methods Parser Error: Unexpected token {, expected identifier, keyword, or string at column 13 in [ {{formatText({{sentence}},{{findForm({{sentence}},{{forms}})}})}} ] in C:\Users\User\eclipse-workspace\sentences\sentences.component.html@10:16el error en la línea de:
{{formatText({{sentence}},{{findForm({{sentence}},{{forms}})}})}}No estoy seguro de haber llamado al método de la manera correcta, pero cuando pongo un argumento de cadena normal, el método funciona así:
formatText(sentence,findForm(sentence,forms));Simplemente no repita las llaves dobles una vez que haya abierto un par. Ya estás dentro de una interpolación.
<li> {{formatText(sentence, findForm(sentence,forms))}} </li>