Conditional Rendering 條件渲染
在 Vue 中,我們可以使用 v-if
指令來條件式渲染元素:
<template> <h1 v-if="awesome">Vue is awesome!</h1> </template>
|
這個 <h1>
只有在 awesome
的值為真值時才會被渲染。如果 awesome
的值變為假值,它將從 DOM 中被移除。
我們還可以使用 v-else
和 v-else-if
表示條件的其他分支:
<template> <h1 v-if="awesome">Vue is awesome!</h1> <h1 v-else>Oh no 😢</h1> </template>
|
目前的範例同時顯示了兩個 <h1>
,按鈕也沒有作用。請嘗試為 <h1>
添加 v-if
和 v-else
指令,並實作一個 toggle()
方法,使我們可以透過按鈕來切換顯示的內容。
示例程式碼範例:
<template> <h1 v-if="awesome">Vue is awesome!</h1> <h1 v-else>Oh no 😢</h1> <button @click="toggle">Toggle</button> </template>
<script setup> import { ref } from 'vue'
const awesome = ref(true)
function toggle() { awesome.value = !awesome.value } </script>
|
更多關於 v-if
的詳細內容請參閱官方指南 - 條件渲染。
<script setup> import { ref } from 'vue'
const awesome = ref(true)
function toggle() { awesome.value = !awesome.value } </script>
<template> <button @click="toggle">Toggle</button> <h1 v-if="awesome">Vue is awesome!</h1> <h1 v-else>Oh no 😢</h1> </template>
|
Comments