angular - InnerHTML 指令忽略 Angular 中的 html 标签
问题描述
我想让我的部分文字加粗。
我从特定文件中获取文本。
"INFORMATION": "<b>Here's an </b> example of text"
我会Here an
大胆。
在我的 component.ts
ngOnInit() {
this.definition = INFORMATION
}
在我的 html 模板中
<span [innerHTML]="definition | translate"></span>
我得到的是:
这是一个文本示例
我的期望
这是一个文本示例
就像Angular忽略了html标签
解决方案
这里有问题的不是 Angular,而是翻译管道。
将 HTML 绑定到[innerHTML]
(或[outerHTML]
)是从变量呈现 html 的正确方法,因此问题必须是执行某些逻辑以过滤掉 HTML 标记的翻译管道。
如果您使用的是 ngx-translate:
绑定将在管道第一次解析时正确发生,您将在 innerHTML 中获得 HTML。
但是下次管道解析时,它只会获取元素的内容。
推荐阅读
- r - ggplot 使色标范围成为数据范围的子集
- ios - IOS语音识别/控制
- sql - 用于比较数据集的 SQL
- r - RStudio 没有找到 RTools
- visual-studio-2017 - 使用 pip 安装 Twisted for Python:错误:Microsoft Visual Studio 失败,退出状态为 2
- jquery - jQuery - 仅在元素加载后运行函数
- jags - 将 jagam 代码插入 runjags (JAGS) 模型
- javascript - 无法在模式对话框中显示表单
- git - 如何列出带有原始提交日期的 git 标签
- javascript - 如何将ajax post数据传递给nodejs服务器?