当前位置:首页 > VUE

web用vue实现todolist

2026-02-21 20:14:09VUE

使用 Vue 实现 TodoList

初始化 Vue 项目

通过 Vue CLI 或 Vite 创建一个新的 Vue 项目。以下是使用 Vue CLI 的示例命令:

npm install -g @vue/cli
vue create vue-todolist
cd vue-todolist
npm run serve

创建 TodoList 组件

src/components 目录下创建 TodoList.vue 文件,编写以下代码:

<template>
  <div class="todo-list">
    <h3>Todo List</h3>
    <input 
      v-model="newTodo" 
      @keyup.enter="addTodo" 
      placeholder="Add a new task"
    />
    <ul>
      <li v-for="(todo, index) in todos" :key="index">
        <span :class="{ completed: todo.completed }">
          {{ todo.text }}
        </span>
        <button @click="toggleTodo(index)">Toggle</button>
        <button @click="removeTodo(index)">Remove</button>
      </li>
    </ul>
  </div>
</template>

<script>
export default {
  data() {
    return {
      newTodo: '',
      todos: []
    };
  },
  methods: {
    addTodo() {
      if (this.newTodo.trim() === '') return;
      this.todos.push({
        text: this.newTodo,
        completed: false
      });
      this.newTodo = '';
    },
    toggleTodo(index) {
      this.todos[index].completed = !this.todos[index].completed;
    },
    removeTodo(index) {
      this.todos.splice(index, 1);
    }
  }
};
</script>

<style>
.completed {
  text-decoration: line-through;
  color: gray;
}
.todo-list {
  max-width: 400px;
  margin: 0 auto;
}
</style>

在主组件中引入 TodoList

修改 src/App.vue,引入并使用 TodoList 组件:

<template>
  <div id="app">
    <TodoList />
  </div>
</template>

<script>
import TodoList from './components/TodoList.vue';

export default {
  name: 'App',
  components: {
    TodoList
  }
};
</script>

运行项目

启动开发服务器,查看效果:

npm run serve

打开浏览器访问 http://localhost:8080,即可看到 TodoList 应用。

web用vue实现todolist

功能扩展(可选)

  1. 本地存储:使用 localStorage 持久化存储任务列表。
  2. 过滤功能:添加“全部”、“已完成”、“未完成”的筛选选项。
  3. 编辑功能:允许用户修改已有任务内容。

注意事项

  • 确保 Vue 版本为 2.x 或 3.x(代码示例适用于 Vue 2)。
  • 如果需要使用 Vue 3,需调整语法(如 setup 函数和 Composition API)。

标签: webvue
分享给朋友:

相关文章

vue实现类别

vue实现类别

Vue 实现类别的几种方法 在 Vue 中实现类别功能可以通过多种方式完成,以下是一些常见的方法: 使用 v-bind:class 动态绑定类名 通过对象语法或数组语法动态绑定类名,根据条件添加或移…

vue实现编辑

vue实现编辑

Vue 实现编辑功能 在 Vue 中实现编辑功能通常涉及表单绑定、状态管理和事件处理。以下是一个常见的实现方法: 双向数据绑定 使用 v-model 指令实现表单元素与数据的双向绑定: <i…

vue实现groupbox

vue实现groupbox

Vue 实现 GroupBox 组件 在 Vue 中实现类似 GroupBox 的效果可以通过自定义组件完成。GroupBox 通常是一个带有标题的边框容器,用于将相关控件分组显示。 基本实现方法…

vue实现 hover

vue实现 hover

实现 Vue 中的 hover 效果 在 Vue 中实现 hover 效果可以通过多种方式完成,以下是常见的几种方法: 使用 CSS 伪类 最简单的方式是直接使用 CSS 的 :hover 伪类,无…

vue实现京东

vue实现京东

Vue 实现京东电商网站的关键步骤 项目搭建与基础配置 使用 Vue CLI 或 Vite 初始化项目,安装 Vue Router 管理路由,Vuex/Pinia 管理状态。配置基础 UI 框架如 E…

vue实现横滚

vue实现横滚

Vue 实现横滚效果 横滚效果通常指水平滚动内容,常见于轮播图、横向导航栏等场景。以下是几种实现方式: 使用 CSS 和 Vue 结合 通过 CSS 的 overflow-x 和 white-spa…