Bird
Raised Fist0
Svelteframework~30 mins

Using data in pages in Svelte - Mini Project: Build & Apply

Choose your learning style10 modes available
Using Data in Svelte Pages
📖 Scenario: You are building a simple Svelte page to display a list of fruits with their colors. This is like making a small fruit catalog on a webpage.
🎯 Goal: Create a Svelte page that holds a list of fruits and their colors, then show them in a neat list on the page.
📋 What You'll Learn
Create a variable called fruits that holds an array of objects with name and color properties.
Create a variable called highlightColor to store a color string.
Use a {#each} block to loop over fruits and display each fruit's name and color.
Highlight the fruit name with the color stored in highlightColor.
💡 Why This Matters
🌍 Real World
Displaying lists of items with dynamic data is common in websites, like product catalogs or contact lists.
💼 Career
Knowing how to use data and loops in Svelte pages is essential for building interactive web apps and user interfaces.
Progress0 / 4 steps
1
Create the fruits data array
Create a variable called fruits that is an array with these exact objects: { name: 'Apple', color: 'Red' }, { name: 'Banana', color: 'Yellow' }, and { name: 'Grape', color: 'Purple' }.
Svelte
Hint

Use let fruits = [ ... ] and include the objects exactly as shown.

2
Add a highlight color variable
Add a variable called highlightColor and set it to the string 'blue'.
Svelte
Hint

Use let highlightColor = 'blue'; to create the variable.

3
Display the fruits using an each block
Use a {#each} block to loop over fruits and display each fruit's name and color inside a <li> element. Use variables fruit for each item.
Svelte
Hint

Use {#each fruits as fruit} and inside it put a <li> with {fruit.name} and {fruit.color}.

4
Highlight fruit names with the highlight color
Modify the fruit name inside the <li> so that it is wrapped in a <span> with a style attribute that sets color to the highlightColor variable.
Svelte
Hint

Use <span style="color: {highlightColor}">{fruit.name}</span> inside the <li>.

Practice

(1/5)
1. In Svelte, how do you display a variable's value inside the HTML of a page?
easy
A. Use parentheses like (variable) inside the HTML.
B. Use curly braces like {variable} inside the HTML.
C. Use angle brackets like <variable> inside the HTML.
D. Use quotes like "variable" inside the HTML.

Solution

  1. Step 1: Understand Svelte's data binding syntax

    Svelte uses curly braces {} to insert JavaScript expressions or variables into HTML.
  2. Step 2: Identify correct syntax for variable display

    Using {variable} inside HTML shows the variable's value dynamically.
  3. Final Answer:

    Use curly braces like {variable} inside the HTML. -> Option B
  4. Quick Check:

    Display variable = {variable} [OK]
Hint: Remember: curly braces show variables in HTML [OK]
Common Mistakes:
  • Using parentheses instead of curly braces
  • Trying to use angle brackets for variables
  • Putting variable names inside quotes
2. Which of the following is the correct way to declare a variable in a Svelte page's <script> block?
easy
A. const name 'Svelte';
B. var name = 'Svelte';
C. let name = 'Svelte';
D. name = 'Svelte';

Solution

  1. Step 1: Recall JavaScript variable declaration in Svelte

    Svelte uses standard JavaScript inside <script>, so let is the preferred way to declare variables that can change.
  2. Step 2: Check syntax correctness

    let name = 'Svelte'; correctly declares a variable with a string value.
  3. Final Answer:

    let name = 'Svelte'; -> Option C
  4. Quick Check:

    Variable declaration = let [OK]
Hint: Use 'let' for variables inside <script> [OK]
Common Mistakes:
  • Missing '=' sign in declaration
  • Using 'var' which is outdated
  • Not declaring variable with let/const
3. Given this Svelte code snippet, what will be rendered on the page?
<script>
  let fruits = ['Apple', 'Banana', 'Cherry'];
</script>

<ul>
  {#each fruits as fruit}
    <li>{fruit}</li>
  {/each}
</ul>
medium
A.
  • Apple
  • Banana
  • Cherry
B.
  • fruits
C. Apple, Banana, Cherry (plain text, no list)
D. Syntax error, nothing renders

Solution

  1. Step 1: Understand the {#each} block

    The {#each} block loops over the array fruits and creates an <li> for each item.
  2. Step 2: Check the output structure

    Each fruit name is inserted inside <li>, so the output is a list with three items.
  3. Final Answer:

    <ul><li>Apple</li><li>Banana</li><li>Cherry</li></ul> -> Option A
  4. Quick Check:

    Loop over fruits = list items [OK]
Hint: {#each} creates list items for array elements [OK]
Common Mistakes:
  • Expecting plain text instead of list
  • Misunderstanding {#each} syntax
  • Thinking it outputs variable name instead of values
4. What is wrong with this Svelte code snippet?
<script>
  let count = 0
</script>

<button on:click={count++}>Click me</button>
<p>Clicked {count} times</p>
medium
A. The variable count should be declared with const, not let.
B. The event handler syntax is incorrect; it should be a function.
C. The <p> tag cannot use curly braces for variables.
D. There is no problem; the code works fine.

Solution

  1. Step 1: Check event handler syntax

    In Svelte, the expression count++ inside on:click is valid and works as an event handler that increments count.
  2. Step 2: Confirm no syntax errors

    The code correctly updates count and displays the updated value.
  3. Final Answer:

    There is no problem; the code works fine. -> Option D
  4. Quick Check:

    Event handler with expression increment works [OK]
Hint: Direct expressions like count++ work as event handlers in Svelte [OK]
Common Mistakes:
  • Writing expressions directly in event handlers is invalid
  • Using const for variables that change
  • Thinking curly braces can't be used in HTML
5. You want to display a list of users with their names and ages on a Svelte page. The data is:
const users = [
  { name: 'Alice', age: 30 },
  { name: 'Bob', age: 25 },
  { name: 'Carol', age: 35 }
];

Which code snippet correctly shows each user's name and age inside a <div> using {#each}?
hard
A. {#each users as user, index}
<div>User {index}: {user.name} ({user.age})</div>
{/each}
B. {#each users}
<div>{name} is {age} years old</div>
{/each}
C. {#each users as user}
<div>{name} is {age} years old</div>
{/each}
D. {#each users as user}
<div>{user} is {age} years old</div>
{/each}

Solution

  1. Step 1: Understand {#each} syntax with index

    The syntax {#each users as user, index} correctly loops over users and provides both user object and index.
  2. Step 2: Check variable usage inside loop

    Inside the loop, {user.name} and {user.age} correctly access properties. Including index shows user number.
  3. Final Answer:

    {#each users as user, index} <div>User {index}: {user.name} ({user.age})</div> {/each} -> Option A
  4. Quick Check:

    Loop with index and user properties = {#each users as user, index}
    <div>User {index}: {user.name} ({user.age})</div>
    {/each}
    [OK]
Hint: Use 'as item, index' to get position and data in {#each} [OK]
Common Mistakes:
  • Omitting 'as' keyword in {#each}
  • Trying to access properties without user prefix
  • Using undefined variables like 'age' alone
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard