Vue 事件结合双向数据绑定实现todolist 待办事项 已经完成 和进行中
2024-09-26 08:27:11
<template>
<div id="app"> <input type="text" v-model='todo' @keydown="doAdd($event)" />
<br>
<hr>
<br> <h2>进行中</h2>
<ul> <li v-for="(item,key) in list" v-if="!item.checked">
<input type="checkbox" v-model='item.checked'> {{item.title}} ---- <button @click="removeData(key)">删除</button>
</li>
</ul> <br>
<h2>已完成</h2>
<ul class="finish"> <li v-for="(item,key) in list" v-if="item.checked">
<input type="checkbox" v-model='item.checked'> {{item.title}} ----<button @click="removeData(key)">删除</button>
</li>
</ul> <h2 v-if='ok'>这是一个ok</h2> <h2 v-if='!ok'>这是一个No</h2> <button @click="getList()">获取list的值</button> </div>
</template> <script> /*
['录制nodejs','录制ionic'] [ {
title:'录制nodejs',
checked:true
},
{
title: '录制ionic',
checked: false
}
] */ export default {
data () {
return {
ok:false,
todo:'' ,
list: [ {
title: '录制nodejs',
checked: true
},
{
title: '录制ionic',
checked: false
}
]
}
},
methods:{ doAdd(e){
console.log(e.keyCode) if(e.keyCode==13){
//1、获取文本框输入的值 2、把文本框的值push到list里面
this.list.push({ title: this.todo,
checked: false
}) this.todo='';
}
},
removeData(key){ // alert(key) //splice js操作数组的方法
this.list.splice(key,1);
}, getList(){ console.log(this.list)
}
} }
</script> <style lang="scss"> .finish{
li{
background:#eee;
}
} </style>
最新文章
- bzoj 1079 着色方案
- makefile多目录的.c 格式.cpp混合编译
- Linux I/O总结
- Asp.net 生成验证码
- Eclipse导入Gradle时报错:SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable
- 如何在苹果官网下载旧版本的Xcode 方法
- 网络请求时 返回 App Transport Security has blocked a cleartext HTTP
- Juniper srx防火墙NAT配置
- 获取select下拉框选中的的值
- Tensorflow Seq2seq attention decode解析
- Pycharm 安装 idea VIM
- Leetcode 28.实现strStr() By Python
- js动态添加未知新属性
- python简说(三)字典
- UNITY3d在移动设备上的一些优化实战
- day33(sql)
- iOS配置SSO授权
- python 类函数
- python学习——练习题(10)
- ThreadPoolExecutor异常处理