[F] Fix vue update problem
This commit is contained in:
@@ -1,14 +1,14 @@
|
|||||||
<template>
|
<template>
|
||||||
<div id="overall-course">
|
<div id="overall-course">
|
||||||
<el-card class="course-card">
|
<el-card class="course-card">
|
||||||
<course-head :clickable="true" :course="course" :unread="unread"/>
|
<course-head :clickable="true" :course="course" :unread="unread()"/>
|
||||||
<div class="course-card-content expand"
|
<div class="course-card-content expand"
|
||||||
v-if="unread !== 0">
|
v-if="unread() !== 0">
|
||||||
<assignment-entry v-for="assignment in unreadAssignments"
|
<assignment-entry v-for="assignment in unreadAssignments()"
|
||||||
:assignment="assignment"
|
:assignment="assignment"
|
||||||
:key="assignment.id"
|
:key="assignment.id"
|
||||||
unread="true"
|
unread="true"
|
||||||
v-on:mark-as-read="assignment.markAsRead()">
|
v-on:mark-as-read="markAsRead(assignment)">
|
||||||
</assignment-entry>
|
</assignment-entry>
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
@@ -28,14 +28,19 @@
|
|||||||
{
|
{
|
||||||
@Prop({required: true}) course: Course;
|
@Prop({required: true}) course: Course;
|
||||||
|
|
||||||
get unreadAssignments(): Assignment[]
|
unreadAssignments(): Assignment[]
|
||||||
{
|
{
|
||||||
return this.course.assignments.filter(a => a.unread);
|
return this.course.assignments.filter(a => a.unread);
|
||||||
}
|
}
|
||||||
|
|
||||||
get unread(): number
|
unread(): number
|
||||||
{
|
{
|
||||||
return this.unreadAssignments.length;
|
return this.unreadAssignments().length;
|
||||||
|
}
|
||||||
|
|
||||||
|
markAsRead(assignment: Assignment)
|
||||||
|
{
|
||||||
|
assignment.markAsRead().then(() => this.$forceUpdate()).catch(alert);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Reference in New Issue
Block a user