Vue3 Template-Tag<template>
In Vue3,<template>Das <template>-Tag ist ein sehr zentrales Konzept.
<template>Es wird verwendet, um die Template-Struktur einer Komponente zu definieren, und ist die Grundlage dafür, dass Vue Seiten rendert.
<template>Grundlegendes Konzept des Tags
<template>Das <template>-Tag ist ein Tag in Vue3, das verwendet wird, um ein Komponenten-Template zu definieren. Es wird nicht selbst in das endgültige DOM gerendert, sondern dient als Container, um Vues Template-Syntax (wie Interpolation, Direktiven usw.) einzuschließen. Vue wird, basierend auf der<template>Inhalt darin, die tatsächliche HTML-Struktur generieren.
Funktionen
- Nicht gerendertes Tag:
<template>Das Tag selbst wird nicht in der endgültigen DOM-Struktur erscheinen. - Template-Container: Er wird verwendet, um die Template-Syntax von Vue zu umschließen, wie Interpolation, bedingtes Rendering, Listen-Rendering usw.
- Unterstützt mehrere Wurzelknoten: In Vue3,
<template>das <template>-Tag kann mehrere Wurzelknoten enthalten, während es in Vue2 nur einen haben kann.
<template>Verwendungsszenarien des Tags
1. Definieren eines Komponenten-Templates
In einer Single-File-Komponente (.vueDatei),<template>das <template>-Tag wird verwendet, um den Template-Teil einer Komponente zu definieren. Zum Beispiel:
Beispiel
<div>
<h1>{{ title }}</h1>
<p>{{ description }}</p>
</div>
</template>
<script>
export default {
data() {
return {
title: "Hello Vue3",
description: "Dies ist ein Vue3-Template-Beispiel."
};
}
};
</script>
2. Bedingtes Rendering
<template>Das Tag kann mitv-ifoderv-elseDirektiven verwendet werden, um bedingtes Rendering zu implementieren. Zum Beispiel:
Beispiel
<div>
<template v-if="isVisible">
<p>Dieser Inhalt ist sichtbar.</p>
</template>
<template v-else>
<p>Dieser Inhalt ist ausgeblendet.</p>
</template>
</div>
</template>
<script>
export default {
data() {
return {
isVisible: true
};
}
};
</script>
3. Listen-Rendering
<template>Das Tag kann mitv-forDirektiven, um Listen-Rendering zu implementieren. Zum Beispiel:
Beispiel
<ul>
<template v-for="item in items" :key="item.id">
<li>{{ item.name }}</li>
</template>
</ul>
</template>
<script>
export default {
data() {
return {
items: [
{ id: 1, name: "Apple" },
{ id: 2, name: "Banana" },
{ id: 3, name: "Orange" }
]
};
}
};
</script>
<template>Hinweise zum Tag
- Unterstützt keine dynamischen Attribute:
<template>Das Tag selbst unterstützt keine dynamischen Attribute (wie z. B.:classoder:styleusw.), weil es beim Rendern ignoriert wird. - Verschachtelte Verwendung vermeiden: Obwohl
<template>das Tag verschachtelt werden kann, kann übermäßige Verschachtelung die Lesbarkeit des Codes verringern. - und
v-slotVerwendung mit: In Vue3,<template>Das Tag wird üblicherweise verwendet, um Slot-Inhalt zu definieren, zum Beispiel:
Beispiel
<MyComponent>
<template v-slot:header>
<h1>Header-Inhalt</h1>
</template>
<template v-slot:default>
<p>Standardinhalt</p>
</template>
</MyComponent>
</template>
Weitere Erweiterungen
Vue3 Options API