2023/3/3今日打卡 vue

该文章演示了一个基于Vue.js的简单todolist应用。通过数据绑定(v-model)实现输入框与列表的交互,点击添加按钮将输入内容添加到列表,同时清空输入框;使用v-for遍历列表并显示每个项目,每个项目后有删除按钮,点击触发删除操作,通过数组方法splice实现列表项的移除。

今日打卡 vue 简易版todolist

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Document</title>

<script src="lib/vue.js"></script>

</head>

<body>

<div id="box">

<input type="text" v-model="mytext">

{{mytext}}

<button @click ="handleAdd()">add</button>

<ul v-show="datalist.length">

<li v-for="(data,index) in datalist">

{{data}}

<button @click="handleDel(index)">del</button>

</li>

</ul>

<div v-show="!datalist.length">空空空空空空空空</div>

</div>

<script>

var vm =new Vue({

el:"#box",

data:{

datalist:["1111","2222","3333"],

mytext:"1111"

},

methods:{

handleAdd(){

// console.log("获取value",this.mytext)

this.datalist.push(this.mytext);

this.mytext=""

},

handleDel(index){

console.log("del",index)

this.datalist.splice(index,1)

}

}

})

</script>

</body>

</html>

### 创建基于 Vue3 的自律打卡功能页面 要开发一个基于 Vue3 的自律打卡功能页面,可以参考以下内容。Vue3 提供了许多新特性和改进,如 Composition API、`<script setup>` 语法糖、`v-model` 增强等[^3],这些特性将极大地提升开发效率和代码可维护性。 #### 1. 技术栈选择 根据提供的引用内容,以下是推荐的技术栈: - **前端框架**:Vue3,相较于 Vue2,Vue3 引入了 Composition API 和更高效的渲染机制[^4]。 - **状态管理**:Pinia(取代 Vuex),Pinia 是 Vue3 的官方状态管理库,具有更简洁的 API 设计[^1]。 - **路由管理**:Vue Router 4,支持 Vue3 的新特性,如动态路由和懒加载[^1]。 - **UI组件库**:Element Plus(基于 Vue3 的 Element UI 升级版),提供了丰富的组件和设计规范[^1]。 - **打包工具**:Vite 或 Webpack,Vite 是 Vue 官方推荐的下一代前端构建工具,具有更快的开发服务器启动速度和热更新能力[^1]。 #### 2. 页面功能设计 自律打卡页面的核心功能包括: - 用户输入目标(如阅读、运动等)。 - 显示打卡记录。 - 提供每日打卡按钮。 - 数据持久化(如保存到本地存储或后端数据库)。 #### 3. 代码实现 以下是一个简单的 Vue3 打卡功能实现示例: ```vue <template> <div class="check-in-page"> <h1>自律打卡</h1> <input v-model="goal" placeholder="请输入你的目标" /> <button @click="addCheckIn">打卡</button> <ul> <li v-for="(item, index) in checkInList" :key="index"> {{ item }} </li> </ul> </div> </template> <script setup> import { ref } from &#39;vue&#39;; // 目标输入框绑定的数据 const goal = ref(&#39;&#39;); // 打卡记录列表 const checkInList = ref([]); // 打卡逻辑 const addCheckIn = () => { if (goal.value.trim()) { checkInList.value.push(goal.value); goal.value = &#39;&#39;; // 清空输入框 } }; </script> <style scoped> .check-in-page { text-align: center; margin-top: 50px; } input { padding: 10px; margin-right: 10px; width: 200px; } button { padding: 10px 20px; cursor: pointer; } ul { list-style: none; padding: 0; } li { margin: 10px 0; font-size: 18px; } </style> ``` #### 4. 功能扩展 为了进一步增强功能,可以考虑以下几点: - **数据持久化**:使用浏览器的 `localStorage` 或连接后端 API 将打卡记录保存到数据库中[^1]。 - **用户认证**:集成用户登录系统,确保每个用户的打卡记录独立存储。 - **图表展示**:使用第三方库(如 ECharts 或 Chart.js)展示打卡趋势图[^1]。 - **通知提醒**:通过浏览器通知或定时任务提醒用户完成每日打卡[^2]。 #### 5. 注意事项 - 在实际项目中,建议使用 TypeScript 提升代码质量和类型安全。 - 如果需要更复杂的路由管理,可以引入 Vue Router 4 并配置嵌套路由。 - 使用 Vite 替代 Webpack 可以显著提升开发体验,尤其是在大型项目中[^1]。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值