Implement watchers for courseId and lessonId in VocabLessonView to reset flags on changes

- Added watchers for courseId and lessonId to reset flags related to lesson completion and navigation when either value changes, ensuring proper lesson loading and state management.
- Removed redundant method definitions for courseId and lessonId, streamlining the component's code structure and improving maintainability.
This commit is contained in:
Torsten Schulz (local)
2026-01-20 00:14:05 +01:00
parent 7cd946181e
commit d4a0f78cd0

View File

@@ -414,6 +414,24 @@ export default {
} }
} }
}, },
watch: {
courseId(newVal, oldVal) {
if (newVal !== oldVal) {
// Reset Flags beim Kurswechsel
this.isCheckingLessonCompletion = false;
this.isNavigatingToNext = false;
this.loadLesson();
}
},
lessonId(newVal, oldVal) {
if (newVal !== oldVal) {
// Reset Flags beim Lektionswechsel
this.isCheckingLessonCompletion = false;
this.isNavigatingToNext = false;
this.loadLesson();
}
}
},
methods: { methods: {
_extractVocabFromExercises(exercises) { _extractVocabFromExercises(exercises) {
// Sicherstellen, dass exercises ein Array ist // Sicherstellen, dass exercises ein Array ist
@@ -530,24 +548,6 @@ export default {
console.log(`[_extractVocabFromExercises] Ergebnis:`, result.length, 'Vokabeln'); console.log(`[_extractVocabFromExercises] Ergebnis:`, result.length, 'Vokabeln');
return result; return result;
}, },
courseId(newVal, oldVal) {
if (newVal !== oldVal) {
// Reset Flags beim Kurswechsel
this.isCheckingLessonCompletion = false;
this.isNavigatingToNext = false;
this.loadLesson();
}
},
lessonId(newVal, oldVal) {
if (newVal !== oldVal) {
// Reset Flags beim Lektionswechsel
this.isCheckingLessonCompletion = false;
this.isNavigatingToNext = false;
this.loadLesson();
}
}
},
methods: {
async loadLesson() { async loadLesson() {
// Verhindere mehrfaches Laden // Verhindere mehrfaches Laden
if (this.loading) { if (this.loading) {