J'utilise vue.js pour rendre un tableau dans une liste.
Chaque élément de la liste a une valeur numérique, et lorsque cette valeur change, je voudrais utiliser une animation.
Exemples d'animations:
Comment puis-je faire ceci?
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 }
]
}
})
Vous souhaitez utiliser :key
avec un <transition>
. Voici une démo très basique.
<transition name="slide-fade" mode="out-in">
<div :key="value">
{{ value }}
</div>
</transition>
Ensuite, comme value
change le slide-fade
l'animation sera utilisée. Un élément avec l'ancienne valeur utilisera l'animation leave
et l'élément avec la nouvelle valeur utilisera l'animation enter
.
Voici une démo rapide: https://jsfiddle.net/jx52bfpc/2/