1.列表动画的实现
<style>
.v-enter-from {
opacity: 0;
transform: translateY(30px);
}
.v-enter-active {
transition: all 0.5s ease-in;
}
.v-enter-to {
opacity: 1;
transform: translateY(0);
}
// 列表添加新元素往后移动时的效果
.v-move {
transition: all 0.5s ease-in;
}
.list-item {
display: inline-block;
margin-right: 10px;
}
</style>
const app = Vue.createApp({
data(){
return {list:[1,2,3]}
},
methods: {
handleClick() {
this.list.unshift(this.list.length + 1);
},
},
template: `
<div>
// 多个元素的效果用transition-group
<transition-group>
<span v-for="item in list" :key="item" class="list-item">{{item}}
</span>
</transition-group>
<button @click="handleClick">增加</button>
</div>
`,
})