模板地址:vue官网上的示例
1 输入框输入,回车添加todo信息
2 每条todo信息后增加删除按钮
3 每条todo信息增加complete状态,列表前增加checkbox,选中后修改complete值,根据complete值修改todo信息样式
<html>
<head>
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<style>
.completed {
text-decoration: line-through;
color: darkgrey;
}
</style>
</head>
<body>
<div id="root">
<!-- 输入框 -->
<input v-model="newTodo" @keyup.enter="addTodo" />
<!-- todo列表 -->
<ul>
<li v-for="(todo, index) in todoList" :class="{completed: todo.completed}">
<!-- 状态勾选 -->
<input type="checkbox" v-model="todo.completed" />
{
{todo.info}}
<!-- 删除按钮 -->
<button @click="removeTodo(index)">删除</button>
</li>
</ul>
</div>
<script>
var app = new Vue({
el: "#root",
data: {
newTodo: "", // 新增输入框的内容
todoList: [], // 保存所有todo信息,数组元素:{completed: 完成true未完成false,info:todo信息string}
},
methods: {
// 回车添加事件
addTodo: function () {
if (this.newTodo) {
this.todoList.push({
info: this.newTodo, completed: false })
}
this.newTodo = '';
},
// 删除事件
removeTodo: function (index) {
this.todoList.splice(index, 1)
}
}
})
</script>
</body>
</html>