当前位置:首页 > 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如何实现放大缩小

Vue实现放大缩小功能的方法 在Vue中实现元素的放大缩小功能,可以通过CSS变换、第三方库或直接操作DOM样式来实现。以下是几种常见的方法: 使用CSS transform属性 通过绑定Vue的d…

vue实现拍照

vue实现拍照

Vue实现拍照功能 在Vue中实现拍照功能通常需要结合浏览器的MediaDevices API和Canvas元素。以下是具体实现方法: 安装依赖(可选) 如果需要更简单的封装,可以安装vue-web…

vue实现fadein

vue实现fadein

Vue 实现 FadeIn 效果 在 Vue 中实现淡入(FadeIn)效果可以通过 CSS 过渡、动画或第三方库实现。以下是几种常见方法: 使用 CSS 过渡 通过 Vue 的过渡系统结合 CSS…

vue网页实现

vue网页实现

Vue 网页实现指南 环境准备 安装 Node.js 和 npm/yarn,确保环境配置正确。使用 Vue CLI 或 Vite 创建项目框架,快速搭建开发环境。 npm install -g @v…

vue 分页 实现

vue 分页 实现

Vue 分页实现方法 使用第三方库(如 Element UI) Element UI 提供了现成的分页组件 el-pagination,适合快速集成。 安装 Element UI: npm ins…

vue模版实现

vue模版实现

Vue 模板实现方法 Vue 模板是 Vue.js 的核心特性之一,用于声明式地将 DOM 绑定至底层 Vue 实例的数据。以下是几种常见的 Vue 模板实现方式: 单文件组件(SFC) 使用 .v…