大家好,今天学的东西不是很多,但遇到了一个特别有趣的vue小案例吧,我觉得可以拿出来给大家伙练练手,虽然案例简单,并不复杂,但也算是涵盖了vue大部分的常用知识点,希望大家可以多练练,有助于vue的学习。

正题开始。。。

案例叫做小黑记事本,大致长这个样子

大致功能是这个样子的,

1.在输入框中输入内容,点击回车,会将输入的内容按顺序放入下面的列表中,

2.再放入的过程中会自动统计记录的数量,显示在左下角

3.当鼠标点击对应的列表项时,删除本条数据,其他数据重新排序

4.点击clear按钮,数据清零

开始具体的实现吧

一.,基本样式的编写

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>小黑记事本</title><style>*{margin: 0 ;padding: 0;background-color: #F0F0F0;}.todo{background-color: red !important;width: 98%;list-style: none;line-height: 35px;border-top:0.5px solid #E0E0E0;border-bottom:0.5px solid #E0E0E0;border-left:1px solid #E0E0E0;border-right:1px solid #E0E0E0;}#todoapp{width: 280px;margin: 100px auto;}h1{font-family:"隶书";font-size: 32px;color: saddlebrown;text-align:center;margin-bottom: 40px;}input::-webkit-input-placeholder {color: #9C9C9C;}.new-todo{outline: none;width: 95%;height: 35px;border:1px solid #E0E0E0;background-color: white;padding:0 4px;color: #9C9C9C;font-size: 15px;}.view{display: flex;padding:0 4px;color: #9C9C9C;font-size: 15px;background-color: white;}.index{flex: 1;background-color: white;}label{flex: 10;background-color: white;}.destroy{flex: 1;display: none;color: red;border: none;background-color: white;}.view:hover .destroy{display: block;}.todo-count{display: block;width: 95%;line-height: 20px;color: #9C9C9C;font-size: 10px;padding:0 4px;border:0.5px solid #E0E0E0;background-color: white;/*box-shadow:5px 5px 20px rosybrown;*/box-shadow:0 0.0625px 0.1875em 0 rgb(0 0 0 / 16%), 0 0.5em 0 -0.25em #f2f2f2ed, 0 0.5em 0.1875em -0.25em rgba(0, 0, 0, 1), 0 1em 0 -0.5em #e5e5e5, 0 1em 0.1875em -0.5em rgba(0, 0, 0, 1);}      strong{background-color: white;}.todo-clear{position: relative;background-color: white;color: #9C9C9C;font-size: 10px;top: -24px;left: 250px;border: none;}</style></head><body><section id="todoapp"><header class="header"><h1>小黑记事本</h1><input v-model="inputValue" @keyup.enter="add" class="new-todo" autofocus="autofocus" autocomplete="off" placeholder="请输入任务" /></header><section class="main"><ul class="todo-list"><li class="todo" v-for="(item,index) in list"><div class="view"><span class="index">{{index+1}}</span><label>{{item}}</label><button class="destroy" @click="remove(index)">×</button></div></li></ul></section><footer class="footer"><span class="todo-count"><strong>{{list.length}}</strong> items left</span><button class="todo-clear" @click="clear">clear</button></footer></section></body><script>var app=new Vue({el:"#todoapp",data:{list:[],inputValue:"好好学习"},methods:{add:function(){},remove:function(index){},clear:function(){}}})</script>
</html>

二.   根据输入内容向列表添加事项

在这里使用表单的双向数据绑定将输入的内容获取到并添加到数组中,页面中渲染的就是数组中的数据,所以可以在我们代码中定义的add函数中添加处理逻辑

             add:function(){this.list.push(this.inputValue)      },

这样添加功能已经完成

三.显示数量功能

因为我们的数据是以数组的形式定义,所以数组有多长我们的数据就有几条,所以在上面的代码中我已经使用list.length完成了此项功能

四.清除功能

因为这个功能比较简单,所以我先实现这个功能。

点击清除按钮时触发事件,我定义的为clear,逻辑处理就是简单的让数组里的数组清零

 clear:function(){this.list=[]}

五.删除事项

在鼠标点击对应事项时触发删除事件,我这里定义的是remove,但这里需要的使用到事件的传参,因为我们需要知道删除的是哪条数据,所以传入对应的下标,然后使用数组的splice方法将数组中本条数据取出,功能实现。

上面代码中我已经定义了事件触发,所以这里我只展示逻辑处理代码remove:function(index){this.list.splice(index,1);},

今天的小黑记事本功能虽然比较简单,但是需要注意的细节有很多,就比如说,在逻辑处理的时候不能改变原始数组,以免影响数据的渲染。

总之,多多练习,祝大家学习进步。。。。

vue案例小黑记事本详解相关推荐

  1. 用Vue实现小黑记事本案例

    用Vue实现小黑记事本案例 实现内容 代码介绍 全部代码 实现内容 新增数据 删除操作 统计个数 清空clear 隐藏 在无数据时是隐藏状态 代码介绍 输入区域 <div id="re ...

  2. 加载vue文件步骤_vue中.vue文件解析步骤详解

    这次给大家带来vue中.vue文件解析步骤详解,vue中.vue文件解析的注意事项有哪些,下面就是实战案例,一起来看一下. 我们平时写的 .vue 文件称为 SFC(Single File Compo ...

  3. vue中mint-ui使用详解

    这次给大家带来vue中mint-ui使用详解,vue中mint-ui使用的注意事项有哪些,下面就是实战案例,一起来看一下. mint-ui在vue中的使用,供大家参考,具体内容如下 首先放上mint- ...

  4. vue基础扩展8--solt详解

    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><title& ...

  5. vue如何过滤html标签,Vue过滤器filters使用详解

    这次给大家带来Vue过滤器filters使用详解,Vue过滤器filters使用的注意事项有哪些,下面就是实战案例,一起来看一下. 示例代码 采用vue单文件组件,使用moment插件格式化日期 {{ ...

  6. 工业机器人码垛教学实施_工业机器人应用案例码垛详解

    工业机器人应用案例码垛详解 随着科技的进步以及现代化进程的加快,人们对搬运速度的要求越来越 高,传统的人工码垛只能应用在物料轻便.尺寸和形状变化大.吞吐量小的场 合,这已经远远不能满足工业的需求,机器 ...

  7. 实例化vue发生了什么?(详解vue生命周期)

    实例化vue发生了什么?(详解vue生命周期) 本文将对vue的生命周期进行详细的讲解,让你了解一个vue实例的诞生都经历了什么~ 我在Github上建立了一个存放vue笔记的仓库,以后会陆续更新一些 ...

  8. AidLux“换脸”案例源码详解 (Python)

    "换脸"案例源码详解 (Python) faceswap_gui.py用于换脸,可与facemovie_gui.py身体互换源码(上一篇文章)对照观看 打开faceswap_gui ...

  9. AidLux “人脸测试”案例源码详解

    "人脸检测"案例源码详解 testface.py用于进行人脸检测 构建APP框架和添加主要控件 人脸关键点识别的方法 打开人脸测试案例 1.在VScode中进入代码编辑状态. 2. ...

最新文章

  1. led透明屏生产厂家_LED透明屏与LED玻璃屏有何区别
  2. OpenCV-自定义harris检测
  3. ABAP高级顾问应该掌握的技术
  4. perl DBD Informix install and test
  5. web框架 http协议
  6. Atitit 提升开发进度大方法--高频功能与步骤的优化 类似性能优化
  7. mysql workbench uml_Ubuntu 16.04下UML建模PowerDesigner的替代ERMaster和MySQL Workbench
  8. MP算法与OMP算法讲解一
  9. java知识体系结构图
  10. VisionPro 常用工具介绍
  11. 【设计】计数(一)基数计数
  12. greenplum数据导入到mysql,greenplum数据库常用操作
  13. EMNLP2020 | 近期必读Transformer精选论文
  14. FairyGUI-GComponent组件
  15. mysql商品多个属性设计_商品多规格多属性模型设计思路
  16. Python脚本实现12306火车票自动抢票回家or旅游
  17. Alibaba Cloud Linux 3 安装部署 ECStore B2C V5.0.1 社区版
  18. 实操!看看JNPF是如何快速搭建HRM系统的
  19. 一文讲懂:已上架APP如何换公司的各项主体-苹果、安卓、支付、域名等
  20. c语言if条件语句PPT,C语言条件语句if.ppt

热门文章

  1. 布尔表达式可满足性问题(SAT)与库克-列文定理(上)
  2. wp-login.php 404页面,wordpress404页面制作完整的正确操作流程
  3. 报名经济师考试需要准备些什么?
  4. 进销存系统 通用进销存行业商用财务系统
  5. 关于 国产麒麟系统双击启动脚本方式后无法启动应用程序 的解决方法
  6. 串口(SerialPort)的使用
  7. 高斯滤波知识点总结——KF、EKF、UKF以及IF、EIF等
  8. 微机原理与接口技术 重点详解与章节总结——8086微处理器系统结构
  9. 电磁场与电磁波矢量分析
  10. pdffactory 打印字体_pdfFactory使用过程中的一些小技巧