当前位置:首页 > VUE

web用vue实现todolist

2026-01-21 04:44:19VUE

使用 Vue 实现 TodoList

创建 Vue 项目

确保已安装 Node.js 和 Vue CLI,通过以下命令创建新项目:

vue create todo-list

选择默认配置或手动配置,完成后进入项目目录:

cd todo-list

项目结构

主要文件结构如下:

  • src/App.vue:主组件
  • src/components/TodoList.vue:TodoList 组件
  • src/assets:静态资源

实现 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;
}
</style>

集成到主组件

修改 src/App.vue 引入 TodoList 组件:

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

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

export default {
  components: {
    TodoList
  }
}
</script>

运行项目

启动开发服务器:

npm run serve

访问 http://localhost:8080 查看效果。

web用vue实现todolist

功能扩展建议

  • 使用 localStorage 持久化存储任务
  • 添加任务分类或标签功能
  • 实现拖拽排序任务
  • 添加任务完成时间记录

标签: webvue
分享给朋友:

相关文章

vue实现多选联动

vue实现多选联动

vue实现多选联动的方法 使用v-model绑定数组 在Vue中,可以通过v-model绑定一个数组来实现多选联动。当复选框被选中或取消选中时,数组会自动更新。 <template>…

vue实现列表显示

vue实现列表显示

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

vue状态管理怎么实现

vue状态管理怎么实现

Vue 状态管理实现方法 使用 Vuex(官方推荐) Vuex 是 Vue 的官方状态管理库,适合中大型应用。 安装 Vuex: npm install vuex --save 创建 Store 示…

vue实现keepalive

vue实现keepalive

Vue 中实现 keep-alive 在 Vue 中,keep-alive 是一个内置组件,用于缓存动态组件或组件的状态,避免重复渲染和销毁。以下是实现 keep-alive 的几种方法: 基本用法…

vue实现伸缩

vue实现伸缩

Vue实现伸缩功能的方法 使用CSS过渡和Vue的v-if或v-show 通过CSS的transition属性结合Vue的条件渲染指令(v-if或v-show)可以实现元素的伸缩效果。定义一个CSS类…

vue实现例子

vue实现例子

以下是一些常见的 Vue 实现例子,涵盖基础功能到进阶应用场景: 基础数据绑定 使用 v-model 实现双向数据绑定: <template> <div> &l…