【发布时间】:2017-07-21 02:42:19
【问题描述】:
我正在使用 vue.js 将数组呈现到列表中。
列表中的每个项目都有一个数值,当该值发生变化时,我想使用动画。
动画示例:
- 现有值淡出,新值淡入。
- 淡出值的黄色背景。
- 文本颜色发生变化,然后逐渐变回原来的颜色。
我该怎么做?
HTML
<div id="app">
<ul>
<li v-for="user in users">
{{ user.name }} = {{ user.value }}
</li>
</ul>
<button v-on:click="users[0].value++">Change value</button>
</div>
JS
var app = new Vue({
el: '#app',
data:
{
users:
[
{ name: 'Barbara Dwyer', value: 14 },
{ name: 'William B Hardigan', value: 10 }
]
}
})
【问题讨论】:
-
我不想“补间”这些值。我只是想表明该值已更新。
-
使用手表?当值发生变化时,可能会为您的元素添加一个动画类。
-
这是唯一的方法吗?似乎有很多支持动画元素的隐藏/显示,但没有动画改变值!
-
老实说,我对 Vue 动画/过渡不是非常了解,这就是为什么我坚持评论而不是答案的原因。很可能有更好的方法。