首页 > 解决方案 > 从 Angular 4 应用程序中,我正在使用一个 API,它返回一个字符串,中间有 '\n'

问题描述

我正在从我的 angular 4 应用程序中从一个组件中访问一个 API。现在,在点击 API 后,我得到了响应。该响应是一个字符串,文本周围带有“”。现在这个文本有一个 '\n' 字符,比如

“从名字和姓氏加上州开始搜索。\n 进行更广泛的搜索”。

现在,客户在 \n 处说我需要查看换行符。我正在努力实现这一目标。

我创建了一个管道并将 \n 替换为 \ (一个网站建议) - 没用 用 替换 \n
,惊喜!!!,也没有用。在 HTML 中,我写 <div [innerHTML]='item.message | safeHTML'> - 没有工作 safeHTML 有 DOMSanitizer,正如 john 所建议的那样(顺便说一句,它是一个管道)

item = {
        id: data.json().response[i].id,
        textMessage: data.json().response[i].textMessage
      };

标签: angulartypescriptangular5

解决方案


如果要将字符串呈现为 HTML,则需要将 Angular 的DomSanitizer注入组件并调用该bypassSecurityTrustHtml()方法。否则,作为安全预防措施,angular 会将文本字符串呈现为文本(转义 HTML)。

例子

constructor(private sanitizer: DomSanitizer) {}

someRandomMethodOfYours() {
  item = {
        id: data.json().response[i].id,
        textMessage: this.sanitizer.bypassSecurityTrustHTML(data.json().response[i].textMessage)
      };
}

推荐阅读