Búsqueda de sitios web

javascript - ¿Cómo puedo convertir cadenas de HTML en HTML en mi plantilla (Angular2/TypeScript)?


Tengo este objeto en un archivo dummy-data.ts. A través de un servicio lo obtengo con éxito en app.component.ts.

{name:"Object1", 
    prop1: {key:'value', key:'value'},
    password: "P@ssword1",
    htmlText:'<h4>This is THE demo text</h4><p>I want it to display as HTML</p>'
}

Actualmente app.component.ts se ve así, para empezar de manera simple:

@Component({
    selector: 'my-app',
    template: `<h1>{{title}}</h1>
        <p *ngFor="#plot of plots">
            {{plot.personalPanelText.transition}}
        </p>
`,
providers: [PlotService]  
})

El resultado final son cadenas en lugar de HTML. Quiero que el HTML sea código, no texto con etiquetas HTML.

He intentado un par de formas y he explorado en la red mundial y la documentación de Angular2, pero no pude encontrar una solución.

¡Gracias de antemano!

Respuesta #1

Puedes enlazar a innerHtml así:

<div [innerHtml]="someProp.htmlText"></div>

Angular no instancia ningún componente cuyos selectores coincidan con etiquetas o atributos en HTML añadidos de esta manera, ni resolverá ningún enlace (como {{xx}})

Vea también Cómo enlazar HTML sin procesar en Angular2

Artículos relacionados