Menu
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

Vue <template> 元素


示例

使用内置的 <template> 元素,通过 v-if 指令切换 HTML 代码部分。

<ul>
  <li>Trolltunga</li>
  <template v-if="display">
    <li>Potato Point</li>
    <li>The souks of Marrakech</li>
    <li>Dry Tortugas</li>
    <li>Halong Bay</li>
  </template>
  <li>...</li>
</ul>
运行示例 »

定义和用法

当 HTML <template> 标签与 Vue 指令 v-ifv-else-ifv-elsev-forv-slot 一起使用时,它将成为一个内置的 Vue <template> 元素。

当与 v-ifv-else-ifv-elsev-for 一起使用时,内置的 <template> 元素将渲染 HTML 代码部分。

当与 v-slot 一起使用时,内置的 <template> 元素会将 HTML 代码部分定向到指定的插槽。请查看下面的示例 1。

内置的 <template> 元素本身不会作为 DOM 元素进行渲染。

注意: 当使用 SFC (*.vue) 文件时,顶层 <template> 元素是结构要求。对于此类顶层 <template> 元素,不能使用 Vue 指令。


更多示例

示例 1

使用内置的 <template> 元素来封装多个元素,并使用 v-slot 指令将它们发送到一个特定的命名插槽。

<template>
  <h1>App.vue</h1>
  <p>The component has two div tags with one slot in each.</p>
  <slot-comp>
    <template v-slot:bottomSlot>
      <h4>To the bottom slot!</h4>
      <p>This p tag and the h4 tag above are directed to the bottom slot with the v-slot directive used on the template tag.</p>
    </template>
    <p>This goes into the default slot</p>
  </slot-comp>
</template>
运行示例 »

示例 2

使用 <template> 元素,可以使用 v-if 指令渲染多个元素。

<div id="app">
  <template v-if="text.includes('pizza')">
    <p>文本包含 'pizza' 这个词</p>
    <img src="img_pizza.svg">
  </template>
  <p v-else>文本中没有找到 'pizza' 这个词</p>
</div>

<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<script>
  const app = Vue.createApp({
    data() {
      return {
        text: '我喜欢 taco、pizza、泰式牛肉沙拉、河粉汤和塔吉锅。'
      }
    }
  })
  app.mount('#app')
</script>
自己试试 »

相关页面

Vue 教程:Vue v-slot

Vue 教程:Vue 模板

Vue 教程:Vue v-if 指令

Vue 参考:Vue v-if 指令

Vue 参考:Vue v-slot 指令

HTML 参考:HTML <template> 标签


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.