Tmeplate 的作用 - daniel-qa/Vue GitHub Wiki
< template> 的作用
< template> 是一個邏輯容器,允許你在需要條件渲染(如 v-if)、循環渲染(如 v-for)時包裹多個元素,避免 Vue 要求的單根節點限制。 不會產生額外的 DOM 元素。
用於條件渲染時,當條件不滿足時,整個
範例:
<template v-if="isVisible">
<p>内容 1</p>
<p>内容 2</p>
</template>
允許在模板中組織結構而不受單一根元素限制,例如嵌套子組件時的結構化設計。
範例:
<template>
<header>Header</header>
<main>Main Content</main>
<footer>Footer</footer>
</template>
允許在模板中組織結構而不受單一根元素限制,例如嵌套子組件時的結構化設計。
<template v-if="show">
<p>Paragraph 1</p>
<p>Paragraph 2</p>
</template>
<template v-for="item in items" :key="item.id">
<p>{{ item.text }}</p>
<span>{{ item.detail }}</span>
</template>
如果不用 < template>,條件渲染時需要額外加一個父節點,比如
,這樣會多出不必要的 DOM 層級:
<div v-if="show">
<p>Paragraph 1</p>
<p>Paragraph 2</p>
</div>
使用 < template> 則避免了這個問題。
- template 标签是逻辑性的,不会渲染到页面,因此不能定义 style,需要将样式应用到可渲染的 DOM 元素(如 div、span 等)上。
<template>
<div style="display: flex; flex-direction: column; align-items: center;">
<!-- 第一层菜单,显示选项的文字 -->
<div v-if="node.level === 1" class="menu-option">
{{ node.text }}
</div>
</div>
</template>