加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
28-综合练习-todolist[2,根据数据渲染页面].html 3.40 KB
一键复制 编辑 原始数据 按行查看 历史
awjf 提交于 2021-05-06 18:26 . 0506
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" type="text/css" href="css/reset.css" />
<link rel="stylesheet" type="text/css" href="css/main.css" />
<script src="./js/vue.js"></script>
</head>
<body>
<div id="root">
<div>
<header class="header">
<h1>待办清单</h1>
<input v-model="newTask" @keyup.enter="send($event)" type="text" class="new-todo" placeholder="type something here" />
</header>
<section class="main">
<input type="checkbox" class="toggle-all" />
<ul class="todo-list">
<!--该li有三种状态
class=""的时候为未完成状态
class="completed"的时候为已完成状态
class="editing"的时候为编辑任务状态
-->
<my-li v-for="(ele,i) in list" :key="ele.id" :item="ele"></my-li>
</ul>
</section>
<my-footer></my-footer>
</div>
</div>
</body>
<script>
//全局注册一个 组件
Vue.component("my-li", {
template: `<li :class="{'completed':item.isComplete}">
<div class="view">
<input type="checkbox" class="toggle" v-model="item.isComplete" />
<label ref="label">{{item.task}}</label>
<button class="destroy"></button>
</div>
<input type="text" class="edit" />
</li>`,
props: ['item']
})
Vue.component("my-footer", {
template: `<footer class="footer">
<span class="todo-count">
<strong> 8 </strong>
<span>item left</span>
</span>
<ul class="filters">
<li>
<a class="selected">All</a>
</li>
<li>
<a class="selected">Active</a>
</li>
<li>
<a>Completed</a>
</li>
</ul>
<button class="clear-completed">
clear all completed
</button>
</footer>`,
})
new Vue({
el: "#root",
data: {
newTask: "", //记录新的发布的任务内容
list: [{
id: 1001,
task: "吃饭",
isComplete: false,
isEdit: false
}, {
id: 1002,
task: "学习",
isComplete: true,
isEdit: false
}]
},
methods: {
send(ev) {
console.log(ev);
//发布新任务
if (this.newTask.trim().length == 0) {
return false
}
let obj = {
id: new Date().getTime(),
task: this.newTask,
isComplete: false,
isEdit: false
}
this.list.unshift(obj)
this.newTask = ""
}
}
})
</script>
</html>
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化