impress 2020-02-02
制作目标动画:向上入场添加数据,点击数据右滑动离场
简单页面效果:

实现代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" type="text/css" href="css/animate.css"/>
<script type="text/javascript" src="js/vue.js" ></script>
<style type="text/css">
.box li{
width: 300px;
line-height: 30px;
margin: 5px;
padding: 0 10px;
border: 1px dashed royalblue;
list-style: none;
}
.box li:hover{
background-color: royalblue;
color: #fff;
cursor: pointer;
}
</style>
</head>
<body>
<div id="app">
id: <input type="text" v-model="id"/>
name: <input type="text" v-model="name"/>
<button @click="add">添加</button>
<ul class="box">
<transition-group enter-active-class="animated slideInUp" leave-active-class="animated slideOutRight" >
<li v-for="item in list" :key="item.id" @click="del(item.id)">{{item.name}}</li>
</transition-group>
</ul>
</div>
<script type="text/javascript">
var vm = new Vue({
el:‘#app‘,
data:{
list:[
{id:1,name:‘xiaoxiao‘},
{id:2,name:‘maomao‘},
{id:3,name:‘dada‘},
{id:4,name:‘hehe‘},
],
id:‘‘,
name:‘‘
},
methods:{
add(){
this.list.push({id:this.id,name:this.name})
},
del(id){
var index = this.list.findIndex(function(item){
return item.id == id
})
this.list.splice(index,1)
}
}
})
</script>
</body>
</html> background-color: blue;background-color: yellow;<input type="button" value="变蓝" @click="changeColorT