我们正在使用vue.js
从实时流中呈现日志,如下所示:
<tr v-else v-for="log in logs" v-cloak>
<td>{{log.id}}</td>
<td>...</td>
</tr>
我们使用EventSource
中的元素来移除数组,如下所示:
this.eventSource.onmessage = function(log) {
if (log.data) {
vue.logs.unshift(JSON.parse(log.data));
}
};
这一切都很好并且有效。我想做的是用一定的颜色突出显示新插入的元素10秒,以便用户可以看到有新的东西。
答案 0 :(得分:2)
这是使用List Transition effect的好地方。以下是如何将突出显示效果应用于表格中的新行的示例:
<强>模板强>
<table>
<tbody is="transition-group" name="list">
<tr v-for="log in logs" :key="log.id">
<td>{{ log.id }}</td>
<td>...</td>
</tr>
</tbody>
</table>
<强> CSS 强>
.list-enter-active {
transition: all 5s;
}
.list-enter {
background: yellow;
}
这将为新添加的日志条目提供5秒黄色背景突出显示。