Vue.js 每日一题 实现一个简单的待办事项管理器
要求:
使用Vue.js创建一个待办事项管理器,实现以下功能:
1.
添加新的待办事项
2.
标记待办事项为已完成/未完成
3.
删除待办事项
4.
显示待办事项总数和已完成数量
——————————————
题解:
待办事项管理器
<!-- 添加新任务 -->
<div class="input-section">
<input
v-model="newTodo"
@keyup.enter="addTodo"
placeholder="请输入待办事项"
class="todo-input"
/>
<button @click="addTodo" class="add-btn">添加</button>
</div>
<!-- 统计信息 -->
<div class="stats">
<p>总共:{{ totalTodos }} 项,已完成:{{ completedTodos }} 项</p>
</div>
<!-- 待办事项列表 -->
<ul class="todo-list">
<li
v-for="todo in todos"
:key="todo.id"
:class="{ completed: todo.completed }"
class="todo-item"
>
<input
type="checkbox"
v-model="todo.completed"
class="todo-checkbox"
/>
<span class="todo-text">{{ todo.text }}</span>
<button @click="deleteTodo(todo.id)" class="delete-btn">删除</button>
</li>
</ul>
知识点解析:
1.
v-model双向绑定:用于输入框与数据的双向绑定
2.
v-for列表渲染:遍历待办事项数组
3.
v-if条件渲染:根据条件显示不同内容
4.
computed计算属性:自动计算总数和完成数
5.
methods方法:处理添加、删除等用户操作
6.
事件处理:@click、@keyup.enter等事件监听
7.
class绑定:动态添加CSS类名
扩展练习:
1.
添加编辑功能
2.
添加过滤功能(显示全部/已完成/未完成)
3.
使用localStorage持久化数据
4.
添加优先级标记功能

浙公网安备 33010602011771号