diff --git a/src/client/pages/announcements.vue b/src/client/pages/announcements.vue
index 089475ed60..49841db8a2 100644
--- a/src/client/pages/announcements.vue
+++ b/src/client/pages/announcements.vue
@@ -11,7 +11,7 @@
 				<img v-if="announcement.imageUrl" :src="announcement.imageUrl"/>
 			</div>
 			<div class="_footer" v-if="$store.getters.isSignedIn && !announcement.isRead">
-				<mk-button @click="read(announcement)" primary><fa :icon="faCheck"/> {{ $t('gotIt') }}</mk-button>
+				<mk-button @click="read(items, announcement, i)" primary><fa :icon="faCheck"/> {{ $t('gotIt') }}</mk-button>
 			</div>
 		</section>
 	</mk-pagination>
@@ -47,8 +47,13 @@ export default Vue.extend({
 	},
 
 	methods: {
-		read(announcement) {
-			announcement.isRead = true;
+		// TODO: これは実質的に親コンポーネントから子コンポーネントのプロパティを変更してるのでなんとかしたい
+		read(items, announcement, i) {
+			console.log(this);
+			Vue.set(items, i, {
+				...announcement,
+				isRead: true,
+			});
 			this.$root.api('i/read-announcement', { announcementId: announcement.id });
 		},
 	}