Hallo zusammen,
ich nehme gerade an einer Umschulung teil, indem wir gerade das Modul Angular haben. Leider ist der Dozent total inkompetent und unterrichtet nicht, sondern hat uns nur das Angular Buch übergeben. Dieses sollen wir als Selbststudium sehen und das Projekt Book Monkey umsetzen, bzw. ist es einfach nur abtippen des Codes.
Mit dem Buch komme ich überhaupt nicht zurecht, obwohl ich durch mein abgebrochenes Studium schon in Java und C# programmieren kann und somit kein Problem mit der Programmierung allgemein habe. Es geht mir eher darum, die gängigen Methoden und Herangehensweisen zu verstehen. Ich habe mir schon verdammt viele gute englische YouTube Videos angeguckt, um HTML und CSS grundlegend zu erlernen. TypeScript ist für mich kein Problem. Sobald ich aber etwas umsetzen möchte, hakt es oft nach ein paar Minuten.
So möchte ich gerne eine Quiz App als bevorstehendes Projekt, welches benotet wird, erstellen.
Ich möchte gerne bei jeder Frage durch ein "Antwort prüfen" Button prüfen, ob alles korrekt beantwortet wurde und ein Absatz durch *ngIf anzeigen lassen. Nur kann ich die einzelnen Checkboxes nicht an die Komponente übertragen. Auch so bin ich mir unsicher, ob der Code sinnvoll aufgebaut ist, sowohl in HTML, CSS als auch TypeScript. Mein Hauptproblem ist im Moment das mit dem Element, wer aber Lust hast, kann mir gerne auch Tipps/Verbesserungsvorschläge zu der ganzen Struktur geben.
Ich bedanke mich schonmal im Voraus und freue mich auf eure Hilfe 😀👍
ich nehme gerade an einer Umschulung teil, indem wir gerade das Modul Angular haben. Leider ist der Dozent total inkompetent und unterrichtet nicht, sondern hat uns nur das Angular Buch übergeben. Dieses sollen wir als Selbststudium sehen und das Projekt Book Monkey umsetzen, bzw. ist es einfach nur abtippen des Codes.
Mit dem Buch komme ich überhaupt nicht zurecht, obwohl ich durch mein abgebrochenes Studium schon in Java und C# programmieren kann und somit kein Problem mit der Programmierung allgemein habe. Es geht mir eher darum, die gängigen Methoden und Herangehensweisen zu verstehen. Ich habe mir schon verdammt viele gute englische YouTube Videos angeguckt, um HTML und CSS grundlegend zu erlernen. TypeScript ist für mich kein Problem. Sobald ich aber etwas umsetzen möchte, hakt es oft nach ein paar Minuten.
So möchte ich gerne eine Quiz App als bevorstehendes Projekt, welches benotet wird, erstellen.
Ich möchte gerne bei jeder Frage durch ein "Antwort prüfen" Button prüfen, ob alles korrekt beantwortet wurde und ein Absatz durch *ngIf anzeigen lassen. Nur kann ich die einzelnen Checkboxes nicht an die Komponente übertragen. Auch so bin ich mir unsicher, ob der Code sinnvoll aufgebaut ist, sowohl in HTML, CSS als auch TypeScript. Mein Hauptproblem ist im Moment das mit dem Element, wer aber Lust hast, kann mir gerne auch Tipps/Verbesserungsvorschläge zu der ganzen Struktur geben.
[CODE lang="html" highlight="4,5"]<div class="card-container">
<h1>{{questions[questionCounter].question}}</h1>
<div *ngFor="let answers of questions[questionCounter].answers; let i = index">
<input id={{i}} class="checkbox" type="checkbox" (change)="check()"><div class="answer">{{answers[0]}}</div>
<!-- Wie übergebe ich den Wert jeder Checkbox an die Methode check()?-->
</div>
<div class="button-bar">
<button class="button back" (click)="chooseQuestion(0)">Zurück</button>
<button class="button check" (click)="checkAnswer()">Antwort prüfen</button>
<button class="button forward" (click)="chooseQuestion(1)">Weiter</button>
</div>
</div>[/CODE]
<h1>{{questions[questionCounter].question}}</h1>
<div *ngFor="let answers of questions[questionCounter].answers; let i = index">
<input id={{i}} class="checkbox" type="checkbox" (change)="check()"><div class="answer">{{answers[0]}}</div>
<!-- Wie übergebe ich den Wert jeder Checkbox an die Methode check()?-->
</div>
<div class="button-bar">
<button class="button back" (click)="chooseQuestion(0)">Zurück</button>
<button class="button check" (click)="checkAnswer()">Antwort prüfen</button>
<button class="button forward" (click)="chooseQuestion(1)">Weiter</button>
</div>
</div>[/CODE]
CSS:
.card-container {
position: relative;
background-color: royalblue;
margin-left: 25%;
margin-right: 25%;
margin-top: 10%;
min-height: 400px;
box-shadow: 5px 5px 10px grey;
border-radius: 10px;
}
h1 {
padding-top: 5%;
padding-bottom: 4%;
text-align: center;
text-decoration: underline 5px;
}
.checkbox {
margin-left: 35%;
margin-bottom: 2%;
width: 25px;
height: 25px;
}
.answer {
display: inline;
margin-left: 2%;
font-size: 1.5em;
}
.button-bar {
position: relative;
margin-top: 5%;
}
.button {
position: absolute;
color: white;
border-radius: 15px;
width: 75px;
height: 50px;
box-shadow: 1px 1px 5px black;
}
.back {
background: red;
left: 20px;
}
.check {
background-color: black;
left: 45%;
}
.forward {
background: green;
right: 20px;
}
[CODE lang="javascript" highlight="40-43"]import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-quiz-card',
templateUrl: './quiz-card.component.html',
styleUrls: ['./quiz-card.component.css']
})
export class QuizCardComponent implements OnInit {
questionCounter: number = 0;
questionCorrect: boolean = false
questions = [
{
id: 1,
question: "Welches Jahr haben wir heute?",
answers: [["2020", false], ["2021", false], ["2022", true]]
},
{
id: 2,
question: "Welches ist der erste Tag in der Woche?",
answers: [["Montag", true], ["Dienstag", false], ["Sonntag", false]]
}
]
constructor() { }
ngOnInit(): void { }
chooseQuestion(val: 0 | 1): void {
if(val === 0 && this.questionCounter > 0) {
this.questionCounter--;
}
else if (val === 1 && this.questionCounter < this.questions.length-1) {
this.questionCounter++;
}
}
check(): void {
document.getElementById("0")?.getAttribute //hier kommt immer undefined
}
checkAnswer() {
}
}[/CODE]
@Component({
selector: 'app-quiz-card',
templateUrl: './quiz-card.component.html',
styleUrls: ['./quiz-card.component.css']
})
export class QuizCardComponent implements OnInit {
questionCounter: number = 0;
questionCorrect: boolean = false
questions = [
{
id: 1,
question: "Welches Jahr haben wir heute?",
answers: [["2020", false], ["2021", false], ["2022", true]]
},
{
id: 2,
question: "Welches ist der erste Tag in der Woche?",
answers: [["Montag", true], ["Dienstag", false], ["Sonntag", false]]
}
]
constructor() { }
ngOnInit(): void { }
chooseQuestion(val: 0 | 1): void {
if(val === 0 && this.questionCounter > 0) {
this.questionCounter--;
}
else if (val === 1 && this.questionCounter < this.questions.length-1) {
this.questionCounter++;
}
}
check(): void {
document.getElementById("0")?.getAttribute //hier kommt immer undefined
}
checkAnswer() {
}
}[/CODE]
Ich bedanke mich schonmal im Voraus und freue mich auf eure Hilfe 😀👍