健身训练管理卡片是一个交互式的 Vue 组件,允许用户跟踪和管理他们的健身训练计划。它提供了以下功能:
健身训练管理卡片的基本功能包括:
const workoutList = ref([
{
name: 'Squats',
sets: 3,
finished: false,
},
// ...其他练习
]);
此代码片段初始化了一个名为 workoutList
的响应式数组,其中包含训练计划中练习和组数的数据。
<van-list v-model="workoutList" :finished="finished" :immediate="true">
<template #default="{ item }">
<van-cell
:title="item.name"
:label="item.sets + ' sets'"
:right-icon="item.finished ? 'success' : 'arrow'"
@click="toggleItem(item)"
/>
</template>
</van-list>
此代码片段使用 Vuetify 的 van-list
组件来展示训练计划。v-model
指令绑定到 workoutList
响应式数组,从而使组件能够响应数组的变化。finished
属性用于确定练习是否已完成。immediate
属性确保在组件挂载时立即更新列表。
const toggleItem = (item) => {
item.finished = !item.finished;
};
此代码片段定义了一个 toggleItem
函数,用于标记已完成的练习。当用户点击练习名称旁边的复选标记时,此函数会被调用。它将 finished
属性的值取反,从而切换练习的完成状态。
const startWorkout = () => {
finished.value = true;
};
此代码片段定义了一个 startWorkout
函数,用于开始训练。当用户点击“开始训练”按钮时,此函数会被调用。它将 finished
响应式变量的值设置为 true
,从而标记训练已开始。
开发这段代码的过程让我学到了 Vue 的响应式性和数据绑定的强大功能。它还让我熟悉了 Vuetify 组件库的使用。
未来,此健身训练管理卡片可以进一步扩展和优化,以包括以下功能: