Practice
1. What does the
v-for directive do in Vue when used with a list?easy
Solution
Step 1: Understand the purpose of
Thev-forv-fordirective is designed to repeat an element for each item in a list or array.Step 2: Compare options with this behavior
Only Repeats an element for each item in the list describes repeating elements for each list item, which matchesv-forusage.Final Answer:
Repeats an element for each item in the list -> Option DQuick Check:
v-forrepeats elements [OK]
Hint: Remember: v-for loops over lists to repeat elements [OK]
Common Mistakes:
- Thinking v-for deletes or sorts items
- Confusing v-for with conditional rendering
- Assuming v-for creates only one element
2. Which of the following is the correct syntax to use
v-for with an index in Vue?easy
Solution
Step 1: Recall correct
The correct syntax isv-forsyntax with indexv-for="(item, index) in items", where the item and index are inside parentheses.Step 2: Check each option
Onlyv-for="(item, index) in items"uses parentheses correctly and the right order: item then index.Final Answer:
v-for="(item, index) in items" -> Option AQuick Check:
Parentheses around item and index =v-for="(item, index) in items"[OK]
Hint: Use parentheses around item and index in v-for [OK]
Common Mistakes:
- Omitting parentheses around item and index
- Placing index after the list instead of inside parentheses
- Using commas outside parentheses
3. Given the Vue template snippet:
What will be the rendered list items?
<ul>
<li v-for="(fruit, i) in ['apple', 'banana', 'cherry']" :key="i">{{ i }} - {{ fruit }}</li>
</ul>What will be the rendered list items?
medium
Solution
Step 1: Understand the loop and index
The loop goes over the array ['apple', 'banana', 'cherry'] with index i starting at 0.Step 2: Check the output format
Each list item shows "{{ i }} - {{ fruit }}", so index then fruit name separated by a dash.Final Answer:
0 - apple
1 - banana
2 - cherry -> Option BQuick Check:
Index starts at 0, format is 'index - fruit' [OK]
Hint: Index in v-for starts at 0 by default [OK]
Common Mistakes:
- Assuming index starts at 1
- Swapping index and item in output
- Ignoring the :key binding
4. Identify the error in this Vue snippet:
<div v-for="item, index in items" :key="index">
{{ index }}: {{ item }}
</div>medium
Solution
Step 1: Check v-for syntax
The syntax for v-for with index requires parentheses:v-for="(item, index) in items".Step 2: Analyze the given code
The code usesv-for="item, index in items"without parentheses, which is invalid.Final Answer:
Missing parentheses around item and index -> Option AQuick Check:
Parentheses required for multiple variables in v-for [OK]
Hint: Always wrap item and index in parentheses in v-for [OK]
Common Mistakes:
- Omitting parentheses causes syntax error
- Misplacing :key attribute
- Thinking v-for can't be on div
5. You have a list of users with IDs and names:
Which Vue template correctly uses
users = [
{ id: 101, name: 'Alice' },
{ id: 102, name: 'Bob' },
{ id: 103, name: 'Carol' }
]Which Vue template correctly uses
v-for with index and sets a unique :key for each user?hard
Solution
Step 1: Identify correct v-for syntax with index
Options A, B, and D use(user, index)syntax correctly; C does not use index.Step 2: Check for unique :key usage
Keys should be unique and stable. Usinguser.idis best.<div v-for="(user, index) in users" :key="user.id">{{ index }} - {{ user.name }}</div>uses:key="user.id"with index, which is correct.Step 3: Verify output format
<div v-for="(user, index) in users" :key="user.id">{{ index }} - {{ user.name }}</div>shows index and user name, which matches the question requirement.Final Answer:
<div v-for="(user, index) in users" :key="user.id">{{ index }} - {{ user.name }}</div> -> Option CQuick Check:
Use (item, index) with unique :key from item [OK]
Hint: Use item ID for :key, index for display only [OK]
Common Mistakes:
- Using index as :key causing update issues
- Not using parentheses for item and index
- Ignoring unique keys requirement
