当前位置:首页 > 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实现div

vue实现div

Vue 实现 DIV 元素的方法 在 Vue 中实现 DIV 元素可以通过多种方式,以下是几种常见的实现方法: 使用模板语法 在 Vue 的模板中直接使用 HTML 的 <div> 标签…

vue实现autocomplete

vue实现autocomplete

Vue 实现 Autocomplete 功能 Vue 中实现 Autocomplete(自动完成)功能可以通过自定义组件或使用现有库完成。以下是几种常见方法: 方法一:使用 Vue 原生实现 创建…

vue实现分类

vue实现分类

Vue实现分类功能的方法 使用v-for和计算属性 通过计算属性对数据进行分类处理,结合v-for渲染分类后的列表。示例代码: <template> <div>…

vue 动画 实现

vue 动画 实现

vue 动画实现方法 Vue 提供了多种方式实现动画效果,主要包括过渡动画和动态动画两类。 使用 <transition> 组件实现基础过渡 通过 Vue 内置的 <transit…

vue实现画图

vue实现画图

Vue 实现画图功能 在 Vue 中实现画图功能通常需要结合 HTML5 的 <canvas> 元素或第三方库。以下是几种常见的方法: 使用原生 Canvas API 通过 Vue 直接…

vue 实现过滤

vue 实现过滤

Vue 实现过滤的方法 在 Vue 中实现过滤功能可以通过多种方式完成,包括使用计算属性、自定义过滤器、第三方库等。以下是几种常见的实现方法: 使用计算属性进行过滤 计算属性是 Vue 中最常用的过…