当前位置:首页 > VUE

vscode实现vue的todolist

2026-02-21 13:18:02VUE

使用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应用。

vscode实现vue的todolist

功能扩展建议

  • 添加本地存储功能,使用localStorage保存任务
  • 实现任务分类(工作/个人)
  • 添加任务优先级功能
  • 实现任务搜索功能

标签: vscodevue
分享给朋友:

相关文章

vue实现打印二维码

vue实现打印二维码

安装二维码生成库 使用 qrcode 或 vue-qrcode 库生成二维码。通过 npm 安装: npm install qrcode vue-qrcode 生成二维码 在 Vue 组…

vue实现建模

vue实现建模

Vue 实现建模的方法 在 Vue 中实现建模通常涉及数据绑定、组件化和状态管理。以下是几种常见的方法: 数据驱动建模 Vue 的核心是数据驱动视图。通过定义数据模型,Vue 会自动更新 DOM。例…

vue实现节流

vue实现节流

vue实现节流的方法 在Vue中实现节流(throttle)功能,通常用于限制高频事件的触发频率,例如滚动、输入或按钮点击。以下是几种常见的实现方式: 使用Lodash的throttle函数 安装L…

vue实现selectable

vue实现selectable

Vue 实现可选择的 Select 组件 在 Vue 中实现一个可选择的 Select 组件,可以通过以下几种方式: 使用原生 HTML select 元素 <template>…

vue 菜单实现

vue 菜单实现

Vue 菜单实现方法 在Vue中实现菜单功能可以通过多种方式完成,以下是几种常见的实现方法: 使用v-for动态生成菜单 通过数据驱动的方式动态渲染菜单项,适合菜单内容可能变化的场景: <t…

vue实现框选

vue实现框选

Vue 实现框选功能 在 Vue 中实现框选功能通常需要监听鼠标事件,计算选区范围,并根据选区范围高亮或选中元素。以下是实现框选功能的关键步骤。 监听鼠标事件 在 Vue 模板中,为容器元素绑定鼠标…