<!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>
<script src="https://unpkg.com/vue@next"></script><!-- 引入vue -->
</head>
<body>
<div id="Application">
<!-- 输入框元素用于新建代办任务 -->
<form @submit.prevent="addTask">
<!-- 主要form不要打成from -->
<span>新建任务</span>
<input
v-model="taskText"
placeholder="请输入任务。。。"
/>
<button>添加</button>
</form>
<!-- 有序列表,使用v-for来构建 -->
<ol><!-- index为todos数组的下标,item为todos数组的对象 -->
<li v-for="(item, index) in todos">
{{item}}
<button @click="remove(index)">
删除任务
</button>
<br>
</li>
</ol>
</div>
<script>
const App = {
data() {
return {
// 待办任务列表数据
todos:[],
// 当前输入的待办任务(已于输入框绑定)
taskText: ""
}
},
methods: {
// 添加一条待办任务
addTask() {
// 判断下输入框是否为空
if (this.taskText.length == 0) {
alert("请输入任务")
return
}
this.todos.push(this.taskText)//讲述人框数据压入todos数组中
this.taskText = ""//输入框重新置为空
},
// 删除一条待办任务
remove(index) {
this.todos.splice(index, 1)
}
}
}
Vue.createApp(App).mount("#Application")
</script>
</body>
</html>