0

我是 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>
4

0 回答 0