我正在做一个 Angular 项目,我在 typescript 文件中有两个简单的方法,如下所示:
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;
}
现在我尝试在 HTML 文件中调用这两个方法:
<div class="mb-3" *ngFor="let sentence of category.sentences">
<li>
{{formatText({{sentence}},{{findForm({{sentence}},{{forms}})}})}}
</li>
</div>
其中 {{form}} 是来自同一 typescript 文件的数组
但是,即使我输入两个参数而不是一个,我也会收到此错误:
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:16
行中的错误:
{{formatText({{sentence}},{{findForm({{sentence}},{{forms}})}})}}
我不确定我是否以正确的方式调用了该方法,但是当我输入正常的字符串参数时,该方法的工作原理如下:
formatText(sentence,findForm(sentence,forms));
最佳答案
打开一对大括号后,就不要重复使用双大括号。您已经处于插值范围内。
<li>
{{formatText(sentence, findForm(sentence,forms))}}
</li>
关于html - 在 HTML 中调用 TypeScript 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69869144/