我是 vue 的新手,并且与 - 对我来说 - 奇怪的行为作斗争。
我希望每次在 dom 中插入新的“singleMessage”时,都会执行“created”中的函数。但事实并非如此。
我的目标是每次插入一条新的单条消息时——有效——5 秒后调用 setMessageRead 函数。
<div class="singleMessage" :class="{ unread: unread }">
<div class="messageData">
<span>{{ user }}</span> {{ timestamp | formatDate }}
</div>
<div class="messageContent">{{ text }} {{ uid }}</div>
</div>
</template>
<script>
export default {
name: "SingleMessage",
props: {
user: String,
text: String,
timestamp: Number,
channel: String,
unread: Boolean,
uid: Number,
},
created() {
setTimeout(() => {
this.setMessageRead(this.uid);
}, 5000);
},
methods: {
setMessageRead(key) {
this.$emit("update:unread", false);
},
},
};
</script>
<style>
.singleMessage.unread {
background: #fdfdc4;
}
</style>