简体   繁体   English

将 ng-content 呈现为 html - Angular 2

[英]Rendering ng-content as html - Angular 2

My API is returning HTML content (I want it to - it has to).我的 API 正在返回 HTML 内容(我希望它 - 它必须)。 I want to render this content in Angular 2/7 as HTML.我想在 Angular 2/7 中将此内容呈现为 HTML。

Right now, I have现在,我有

<div class="card-container" [ngClass]="type === 'bot' ? 'white' : 'blue'">
    <div class="header" >
        <b>{{name}}</b> 
        {{date}}
    </div>
    <ng-content></ng-content>
</div>

The goal here is to have ng-content rendered as HTML.这里的目标是将 ng-content 呈现为 HTML。

For context, ng-content is something like this Test Date: Mon, Nov 19对于上下文,ng-content 是这样的测试日期:11 月 19 日星期一

And this component is called chat-card.component这个组件叫做 chat-c​​ard.component

And it's a parent is called chat-card-area.component它的父级称为 chat-c​​ard-area.component

<div class="right-child">
    <app-chat-card type={{type}}>
        <ng-content></ng-content>
    </app-chat-card>
</div>

And the parent if chat-card-area is simply chat.component, which has而父 if chat-c​​ard-area 只是 chat.component,它有

<div *ngFor="let message of messages">
    <app-chat-card-area type={{message.type}}>
    {{message.text}} // I want this to be rendered as html
    </app-chat-card-area>
</div>

Any idea of how to do this?知道如何做到这一点吗?

Use innerHTML binding here as:-在此处使用innerHTML绑定作为:-

<div *ngFor="let message of messages">
    <app-chat-card-area type={{message.type}}>
      <div [innerHTML]="message.text"></div> // Will render as HTML
    </app-chat-card-area>
</div>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM