vscode实现vue的todolist
使用VSCode实现Vue的TodoList
环境准备
确保已安装Node.js和VSCode编辑器。在VSCode中安装Vue.js扩展插件(如Volar)以支持Vue开发。
创建Vue项目
打开VSCode终端,运行以下命令创建Vue项目:
npm init vue@latest vue-todolist
按照提示选择默认配置或自定义配置。完成后进入项目目录并安装依赖:
cd vue-todolist
npm install
项目结构
主要文件位于src目录下:
App.vue:主组件components/:存放子组件main.js:入口文件
实现TodoList功能
1. 数据模型
在App.vue的<script>部分定义任务列表和新增任务的方法:
export default {
data() {
return {
tasks: [],
newTask: ''
}
},
methods: {
addTask() {
if (this.newTask.trim()) {
this.tasks.push({
id: Date.now(),
title: this.newTask,
completed: false
})
this.newTask = ''
}
},
removeTask(id) {
this.tasks = this.tasks.filter(task => task.id !== id)
},
toggleComplete(id) {
const task = this.tasks.find(task => task.id === id)
if (task) task.completed = !task.completed
}
}
}
2. 模板部分
在App.vue的<template>中添加以下代码:
<div class="todo-app">
<h1>Todo List</h1>
<div class="input-area">
<input
v-model="newTask"
@keyup.enter="addTask"
placeholder="Add new task"
/>
<button @click="addTask">Add</button>
</div>
<ul class="task-list">
<li v-for="task in tasks" :key="task.id">
<input
type="checkbox"
:checked="task.completed"
@change="toggleComplete(task.id)"
/>
<span :class="{ completed: task.completed }">{{ task.title }}</span>
<button @click="removeTask(task.id)">Delete</button>
</li>
</ul>
</div>
3. 样式部分
在App.vue的<style>中添加基础样式:
.todo-app {
max-width: 600px;
margin: 0 auto;
padding: 20px;
}
.input-area {
margin-bottom: 20px;
}
.task-list {
list-style: none;
padding: 0;
}
.task-list li {
display: flex;
align-items: center;
margin-bottom: 10px;
}
.completed {
text-decoration: line-through;
color: #888;
}
button {
margin-left: 10px;
}
运行项目
在VSCode终端中运行开发服务器:
npm run dev
浏览器会自动打开http://localhost:5173,可以看到TodoList应用。
功能扩展建议
- 添加本地存储功能,使用
localStorage保存任务 - 实现任务分类(工作/个人)
- 添加任务优先级功能
- 实现任务搜索功能







