Vue 实现简易记事本
Posted 「已注销」
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue 实现简易记事本相关的知识,希望对你有一定的参考价值。
预览图:
功能如下:
(1)输入任务并按下回车键,可将任务添加至任务列表(不可输入重复任务)
(2)点击删除,可删除对应任务
(3)点击清空,所有任务都会被删除
(4)左下角同步显示任务总数
完整代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>记事本</title>
<style>
*
margin: 0;
padding: 0;
#todoapp
width: 600px;
background-color: rgba(19, 161, 114, 0.63);
font-family: sans-serif;
.header>h1
padding: 20px 0;
text-align: center;
font-size: 40px;
color: whitesmoke;
.newTask
display: block;
width: 500px;
height: 50px;
line-height: 50px;
padding-left: 10px;
margin: 0 auto;
font-size: 20px;
outline: none;
border: none;
.todolist li
height: 30px;
line-height: 30px;
padding-left: 15px;
margin: 10px 0;
font-size: 25px;
color: white;
.todolist .item
margin-left: 15px;
.destroy,
.clear
width: 50px;
height: 30px;
float: right;
color: white;
background-color: transparent;
border: none;
font-size: 20px;
.footer
width: 600px;
height: 30px;
padding: 10px 0;
vertical-align: middle;
.footer p
display: inline-block;
padding-left: 15px;
color: white;
font-size: 20px;
</style>
</head>
<body>
<section id="todoapp">
<header class="header">
<h1>记事本</h1>
<input type="text" v-model="newItem" class="newTask" placeholder="请输入任务" @keyup.enter="add">
</header>
<section>
<ul class="todolist">
<li v-for="(item, index) in list">
<div>
<span> index + 1 </span>
<label class="item"> item </label>
<button class="destroy" @click="del(index)">删除</button>
</div>
</li>
</ul>
</section>
<footer class="footer">
<p class="count">
items: list.length
</p>
<button class="clear" @click="clear" v-show="list.length != 0">清空</button>
</footer>
</section>
<script src="./vue.js"></script>
<script>
const app = new Vue(
el: "#todoapp",
data:
list: [],
newItem: ""
,
methods:
add()
if (this.newItem == "")
return;
else
if (!this.list.includes(this.newItem))
this.list.push(this.newItem);
this.newItem = "";
else
alert("请勿添加重复事件!");
this.newItem = "";
,
del(index)
this.list.splice(index, 1);
,
clear()
this.list = [];
)
</script>
</body>
</html>
以上是关于Vue 实现简易记事本的主要内容,如果未能解决你的问题,请参考以下文章