by Sai gowtham

Conditional Rendering in Svelte

Conditional Rendering in Svelte

In this tutorial, we are going to learn about how to render elements conditionally in svelte.js.

What is conditional rendering?

Conditional rendering means to show or hide elements from the dom based on the particular condition.

Svelte has a special syntax to render elements conditionally.

{#if isActive}
    <h1>Im active</h1>
{/if}

Note: # indicates the block opening and / indicates block closing.

Let’s see an example.

Conditional.svelte
<script>
   let isActive = true;</script>

  <div>
      {#if isActive}         <h1>Im active</h1>      {/if}  </div>

In the above code, we only render the h1 element into the dom if isActive property is true.

Else block

We can also combine if block with else block.

Conditional.svelte
<script>
   let isActive = true;</script>

  <div>
      {#if isActive}
         <h1>You can see me</h1>
         {:else}         <h2>You can't see me</h2>      {/if}
  </div>

Else if block

We can also further chain it with else if block.

Conditional.svelte
<script>
  let isActive = true;</script>

<div>
  {#if isActive === true}
    <h1>You can see me</h1>
  {:else if isActive === 4}    <h1>You can see me only if isActive is 4</h1>  {:else}
    <h2>You can't see me</h2>
  {/if}
</div>

In the above code, we only render else if block h1 element if isActive === 4.

Top Udemy Courses

JavaScript - The Complete Guide 2020 (Beginner + Advanced)
JavaScript - The Complete Guide 2020 (Beginner + Advanced)
26,545 students enrolled
52 hours of video content
View Course
React - The Complete Guide (incl Hooks, React Router, Redux)
React - The Complete Guide (incl Hooks, React Router, Redux)
221,520 students enrolled
44 hours of video content
View Course
Vue JS 2 - The Complete Guide (incl. Vue Router & Vuex)
Vue JS 2 - The Complete Guide (incl. Vue Router & Vuex)
114,575 students enrolled
21 hours of video content
View Course