当前位置:首页 > 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目录下:

vscode实现vue的todolist

  • 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>中添加以下代码:

vscode实现vue的todolist

<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保存任务
  • 实现任务分类(工作/个人)
  • 添加任务优先级功能
  • 实现任务搜索功能

标签: vscodevue
分享给朋友:

相关文章

vue 实现

vue 实现

Vue 实现的基本步骤 安装 Vue.js 可以通过 npm 或 CDN 引入。使用 npm 安装适合大型项目,CDN 适合快速原型开发。 npm install vue 在 HTML 文件中引入…

vue广告实现

vue广告实现

Vue 广告实现方法 在 Vue 项目中实现广告功能可以通过多种方式完成,具体取决于广告类型和需求。以下是几种常见的实现方法: 使用第三方广告平台 许多广告平台如 Google AdSense、百…

vue实现闪烁

vue实现闪烁

Vue实现元素闪烁效果 使用CSS动画实现 通过Vue绑定class结合CSS动画实现闪烁效果,代码简洁且性能较好。 <template> <div :class="{ 'bl…

vue 实现列表

vue 实现列表

Vue 实现列表的方法 在 Vue 中实现列表通常使用 v-for 指令,结合数组或对象数据渲染动态列表。以下是几种常见的实现方式: 基础列表渲染 使用 v-for 指令遍历数组,渲染列表项。ite…

vue实现frame

vue实现frame

Vue 中实现 iframe 的方法 在 Vue 中可以通过直接使用 <iframe> 标签或动态绑定 src 属性来实现 iframe 功能。 基本用法 <template&g…

vue实现订单

vue实现订单

Vue 实现订单功能 订单数据结构设计 订单数据通常包含以下字段: order: { id: String, // 订单ID userId: String,…