LU09 – Aufgabe: JavaScript-Objekte und Vue
Theorie: JavaScript-Objekte
Bevor Sie mit der Aufgabe beginnen, eine kurze Repetition zu Objekten in JavaScript.
Ein Objekt fasst zusammengehörende Daten unter einem Namen zusammen:
// Ein Objekt mit zwei Eigenschaften const person = { name: 'Anna', age: 22, }; // Eigenschaften auslesen (Punkt-Notation) console.log(person.name); // → 'Anna' console.log(person.age); // → 22
Für unsere FAQ-Daten erstellen wir ein Objekt mit den Eigenschaften question und answer:
const faqData = { question: 'What is this project?', answer: "It's a small but mighty mission...", };
Aufgabe
Auftrag
- Lesen Sie die Theorie zu
ref()undv-bindauf Moodle (LU09a – Theorie). - Erstellen Sie im
<script setup>ein ObjektfaqDatamit den Eigenschaftenquestionundanswer. - Ersetzen Sie den hartcodierten Text im
<template>durch{{ faqData.question }}und{{ faqData.answer }}. - Ersetzen Sie
v-on:clickdurch die Kurzform@clickundv-bind:classdurch die Kurzform:class. - (Bonus) Fügen Sie Transitions für
heightundopacityhinzu (wie im bisherigen FAQ-Accordion). - (Bonus) Übernehmen Sie das vollständige Styling aus dem bisherigen FAQ-Accordion.
Erwartetes Ergebnis
- Das Panel öffnet und schliesst sich per Klick.
- Frage und Antwort werden aus dem
faqData-Objekt gelesen. - Der Code verwendet die Vue-Kurzformen (
:und@).