Directiva v-text de Vue3
v-textLa directiva se usa para actualizar el contenido de texto del elemento, lo que equivale a establecer eltextContentatributo del elemento DOM.
Descripción básica
v-textLa directiva establece el valor de su expresión vinculada como el contenido de texto del elemento. En las plantillas de Vue, la interpolación de texto más común{{ }}se puede escribir de otra manera.
- Tipo esperado: string
- Función: Actualiza el contenido de texto del elemento, equivalente a establecer la propiedad textContent.
Uso básico
Ejemplo
<!-- Equivale a -->
<span>{{ message }}</span>
Ejemplo
<div>
<p v-text="greeting"></p>
<p>Usando llaves: {{ greeting }}</p>
</div>
</template>
<script>
export default {
data() {
return {
greeting: 'Hello Vue!'
}
}
}
</script>
Diferencia entre v-text y las llaves
v-texty{{ }}La principal diferencia de la interpolación con llaves es:
{{ }}Se puede usar en nodos de texto y en atributos.v-textSolo se puede usar en el contenido de texto del elemento.v-textReemplazará el contenido de texto existente del elemento.
Ejemplo
<span v-text="message">El texto original será reemplazado.</span>
<!-- Las llaves pueden conservar otro contenido dentro del elemento -->
<span>Prefijo {{ message }} sufijo</span>
Casos de uso
1. Enlace de texto simple
Cuando solo se necesita mostrar texto sin mezclar otro contenido, v-text es una opción clara:
Ejemplo
<div>
<h1 v-text="pageTitle"></h1>
<span v-text="userName"></span>
</div>
</template>
<script>
export default {
data() {
return {
pageTitle: 'Centro de usuario',
userName: 'Zhang San'
}
}
}
</script>
2. Uso junto con v-once
v-text se puede usar junto con v-once, se renderiza una sola vez y no se actualiza después:
Ejemplo
<div>
<!-- Se renderiza una sola vez, los cambios posteriores de data no se actualizarán -->
<p v-once v-text="staticText"></p>
<!-- Responderá a los cambios de datos -->
<p v-text="dynamicText"></p>
<button @click="updateText">Actualizar texto</button>
</div>
</template>
<script>
export default {
data() {
return {
staticText: 'Texto estático, se renderiza una sola vez',
dynamicText: 'Texto dinámico, se actualizará'
}
},
methods: {
updateText() {
this.dynamicText = 'Texto actualizado: ' + new Date().toLocaleTimeString()
}
}
}
</script>
Notas
Reemplazo de contenido existente: v-text reemplaza por completo todo el contenido de texto dentro del elemento. Si solo necesita actualizar parte del texto, debe usar la interpolación con llaves.
{{ }}。
Escape de HTML: v-text trata el contenido como texto plano y no interpreta las etiquetas HTML. Si necesita renderizar HTML, debe usar la directiva v-html.
Ejemplo
<span v-text="'<b>Negrita</b>'"></span>
<!-- Si necesita renderizar HTML, use v-html -->
<span v-html="'<b>Negrita</b>'"></span>
Otras extensiones
Directivas integradas de Vue3