Blog>
Snippets

Conditional Rendering within Fragments

Use v-if and v-else within fragments to conditionally render elements in the template, ensuring that few DOM elements are used.
<template>
  <div v-if="condition">
    <!-- First part of the fragment conditionally rendered -->
    <span>This is rendered when the condition is true</span>
  </div>
  <template v-else>
    <!-- Second part of the fragment that is conditionally rendered -->
    <span>This is rendered when the condition is false</span>
  </template>
</template>

<script>
export default {
  data() {
    return {
      condition: true // This is the condition for the rendering logic
    }
  }
}
</script>
This is a Vue.js component template that uses v-if and v-else directives for conditional rendering within fragments. When 'condition' is true, the first part of the fragment, a <span> element with specific text, will render. If 'condition' is false, the second part of the fragment, another <span> element with alternative text, will render instead. Using the <template> tag for the v-else case ensures no extra DOM elements are created for the condition logic.