Logica de vista
Insertar una Cadena de Texto como HTML
Si una variable contiene una cadena de texto con etiquetas HTML, es posible mostrar su contenido en el template interpretando esas etiquetas como HTML en lugar de texto. Solo debe usarse contenido confiable, ya que el HTML no confiable puede permitir ataques XSS.
Ejemplo
Añadir un mensaje de texto que contiene código HTML.
Vuev-html
<script setup lang="ts">
const message = '<strong>New</strong> message'
</script>
<template>
<p v-html="message"></p>
</template>
Usa v-html para insertar una cadena de texto como HTML.
ReactdangerouslySetInnerHTML
const message = {
__html: '<strong>New</strong> message',
}
function HtmlMessage() {
return <p dangerouslySetInnerHTML={message} />
}
Usa la propiedad especial dangerouslySetInnerHTML con un objeto que contiene __html.
Angular[innerHTML]
import { Component } from '@angular/core'
@Component({
selector: 'app-html-message',
standalone: true,
template: `<p [innerHTML]="message"></p>`,
})
export class HtmlMessageComponent {
message = '<strong>New</strong> message'
}
Usa el binding [innerHTML] y sanea automáticamente el HTML potencialmente inseguro.
