javascript - Angular 绑定中的 Unicode 字符
问题描述
关于如何在 Angular 绑定中显示 Unicode 字符代码有一些答案,但我试图动态显示一个,但一切似乎都失败了。
我有一个接收字符代码作为@Input
参数的组件。
<my-component [icon]="e901"></my-component>
然后组件尝试显示它,但这些都不起作用:
<i>{{ "\u" + icon }}</i>
<i [innerHTML]="'\u' + icon"</i>
<i [innerHTML]="`\u${icon}`"</i>
<i [innerHTML]="'&#' + icon + ';'"</i>
语法有很大的发挥空间,但它总是要么导致错误,要么只是简单地显示\ue901
为字符串。如果我对代码进行硬编码,它确实有效:
<i>{{ "\ue901" }}</i>
我是在模板还是 TypeScript 中生成字符串都没有关系。如果我尝试将整个代码作为参数传递,它将不起作用。有什么想法吗,伙计们?
解决方案
在JGFMK指出了一半的答案之后,这里是解决方案:
在代码中:
this.icon = '&#x' + this.icon + ';';
然后在模板中:
<span [innerHTML]="icon"></span>
推荐阅读
- jenkins - 如何使用 gatsby 访问我的詹金斯管道中定义的变量?
- emacs - 静音emacs警告
- python - 使用 BeautifulSoup 来赚取收入
- svelte - 为什么 Svelte 组件更新了变量,而实际上它没有改变?
- python - 在 nltk 模块中是否有指定的方法将 int 转换为 str ?
- reactjs - 如何通过 MaterialUI 包中的 TextField Select 类型的 onChange 调用函数
- python - 如何在 matplotlib 中从 19:00-7:00 更改绘图图表的刻度标签
- javascript - 如何在 3d 模型上放置热点?
- javascript - 数组值显示为未定义的 javasctript
- r - R/dplyr:合并并提取单个列中重复字符串值的计数总数/使用每个唯一字符串的总数创建新列