当前位置:首页 > 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 应用。

功能扩展(可选)

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

注意事项

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

web用vue实现todolist

标签: webvue
分享给朋友:

相关文章

vue实现一个系统

vue实现一个系统

Vue 系统实现步骤 项目初始化与配置 使用 Vue CLI 或 Vite 创建项目: npm init vue@latest my-system 选择需要的配置(Router、Pinia 等)。…

vue实现双折线图

vue实现双折线图

实现双折线图的步骤 安装必要的依赖库(如 ECharts 或 Chart.js),这里以 ECharts 为例: npm install echarts --save 在 Vue 组件中引入 ECh…

vue实现公告

vue实现公告

Vue 实现公告功能的方法 公告功能通常需要实现滚动展示、自动切换或固定显示的效果。以下是几种常见的实现方式: 使用 marquee 标签实现滚动公告 <template> <…

vue实现ajax

vue实现ajax

Vue 中实现 AJAX 的几种方法 在 Vue 中实现 AJAX 请求可以通过原生 JavaScript 的 XMLHttpRequest、第三方库如 axios 或 fetch API 来完成。以…

vue滚动实现

vue滚动实现

Vue 滚动实现方法 使用原生滚动 在 Vue 中可以通过 ref 获取 DOM 元素,调用原生滚动方法实现滚动效果。适用于简单场景。 <template> <div ref=…

vue实现toast

vue实现toast

Vue 实现 Toast 的方法 使用第三方库(推荐) 对于快速实现 Toast 功能,推荐使用成熟的第三方库如 vue-toastification 或 vant 的 Toast 组件。 安装…