接上一篇...

V标签综合使用:记事本案例

功能:

在实现列表渲染和删除功能的基础上,增加了数据添加以及数据统计,同时要求底部统计和清空区域在事件数目为0时不显示。

思路:

整体架构分为三部分:头部使用v-model绑定用户输入,并且绑定add方法,通过回车或点击按钮触发数据添加事件;主体部分使用 v-for 渲染数据列表,并在每个列表项内放置一个绑定了 del方法的“删除”按钮,点击按钮时会触发方法,根据传入的 ID 删除相应数据源中的项目;底部根据数据列表的length显示事件总数,同时设置了“清空”按钮绑定了清空数据数组的方法,此外使用v-show基于数据是否为空决定底部统计区域显示与否。

代码:

html:
<div id="app">
<!-- 头部区域 -->
<header>
<h2>记事本</h2>
<input @keyup.enter="add" v-model="newName" placeholder="请输入任务">
<button @click="add">添加任务</button>
</header> <!-- 列表区域 -->
<section>
<ul>
<li v-for="(item,index) in list" :key="item.id">
<span>{{ index + 1 }}.</span><label>{{ item.name }}</label>
<Button @click="del(item.id)" style="height: 20px; line-height: 10px;">x</Button>
</li>
</ul>
</section> <!-- 统计和清空 当任务数为0时,不显示-->
<footer v-show="list.length > 0">
<span>合计:{{ list.length }}</span>
<button @click="del_all">清空任务</button>
</footer>
</div>
js:
<script>
const app = new Vue({
el: '#app',
data: {
newName: '',
list: [
{id: 1, name: '吃喝玩乐'},
{id: 2, name: '打游戏'},
{id: 3, name: '看剧'},
{id: 4, name: '出去玩!'}
]
},
methods: {
del(id){
this.list = this.list.filter(item => item.id != id);
},
add(){
//防止输入为空:为空时提示!
if(this.newName.trim() === ''){
alert('请输入任务!')
return
}
//为保证ID唯一,使用Date()
this.list.unshift({
id: +new Date(),
name: this.newName
}),
//当完成添加后,输入框内清空
this.newName = ''
},
del_all(){
this.list = [];
}
}
})
</script>
css:

(感觉是最难写的部分,当下只追求效果

<style>
#app{
width: 500px;
text-align: center;
}
header{
background-color: #abc;
}
section{
width: 500px;
background-color: #ffd;
margin-top: -20px;
}
ul{
list-style: none;
text-align: left;
}
li{
height: 50px;
line-height: 50px;
} footer span{
//“子相父绝”,父元素为整个页面
position: absolute;
left: 10px;
}
footer button{
position: absolute;
left: 350px;
}
</style>

Vue学习:3.V标签综合3的更多相关文章

  1. vue学习之template标签

    HTML5提供的新标签,具有以下特性: 1.该元素天生display:none,同时模板元素内部内容也是隐藏的 2.位置任意,可以在<head>中,也可以在<body>或者&l ...

  2. vue学习第一部

    目录 基础操作 vue基础使用 步骤 vue的框架思想(mvvm) 显示数据 vue 常用指令 属性操作 事件绑定 操作样式 条件渲染指令 列表渲染指令 vue对象提供的属性功能 过滤器 计算和侦听属 ...

  3. vue学习笔记(二)——简单的介绍以及安装

    学习编程需要的是 API+不断地练习^_^ Vue官网:https://cn.vuejs.org/ 菜鸟教程:http://www.runoob.com/vue2/vue-tutorial.html ...

  4. day 82 Vue学习二之vue结合项目简单使用、this指向问题

    Vue学习二之vue结合项目简单使用.this指向问题   本节目录 一 阶段性项目流程梳理 二 vue切换图片 三 vue中使用ajax 四 vue实现音乐播放器 五 vue的计算属性和监听器 六 ...

  5. day 81 Vue学习一之vue初识

      Vue学习一之vue初识   本节目录 一 Vue初识 二 ES6的基本语法 三 Vue的基本用法 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 vue初识 vue称为渐进式js ...

  6. day 81 Vue学习二之vue结合项目简单使用、this指向问题

    Vue学习二之vue结合项目简单使用.this指向问题   本节目录 一 阶段性项目流程梳理 二 vue切换图片 三 vue中使用ajax 四 vue实现音乐播放器 五 vue的计算属性和监听器 六 ...

  7. day 80 Vue学习一之vue初识

    Vue学习一之vue初识   本节目录 一 Vue初识 二 ES6的基本语法 三 Vue的基本用法 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 vue初识 vue称为渐进式js框架 ...

  8. Vue学习笔记-Vue.js-2.X 学习(四)===>脚手架Vue-CLI(基本工作和创建)

    (五) 脚手架Vue-CLI 一 Vue-CLI前提(nodejs和webpack) 二  Vue学习-nodejs按装配置,Node.js 就是运行在服务端的 JavaScript. 1. 去nod ...

  9. Vue学习笔记-Vue.js-2.X 学习(一)===>基本知识学习

    一  使用环境: windows 7 64位操作系统 二  IDE:VSCode/PyCharm 三  Vue.js官网: https://cn.vuejs.org/ 四  下载安装引用 方式1:直接 ...

  10. Vue学习笔记-nodejs+vue-cli4+webpack按装配置+项目创建

    一  使用环境: windows 7 64位操作系统 二  Vue学习-nodejs按装配置,Node.js 就是运行在服务端的 JavaScript. 1. 去nodejs的官网下载  https: ...

随机推荐

  1. 数据库PolarDB开源之路该如何走?听听他们怎么说

    简介: 10月25日,由阿里云开发者社区.阿里云PolarDB开源社区.InfoQ联合举办的「开源人说」数据库PolarDB专场线下沙龙在杭州召开,5位阿里云数据库超级大咖.10位阿里云数据库开源生态 ...

  2. 玩转DB里的数据 — 阿里云DMS任务编排之简介和实操

    1.任务编排介绍 数据库是企业IT系统里的重要基础设施,里面存储了大量有价值的数据资产,如:交易数据.客户数据.订单数据,等等.其实,数据库在企业里一直扮演着一个数据生产者(Producer)的角色, ...

  3. 深度解析开源推荐算法框架EasyRec的核心概念和优势

    ​简介:如何通过机器学习PAI实现快速构建推荐模型 作者:程孟力 - 机器学习PAI团队 随着移动app的普及,个性化推荐和广告成为很多app不可或缺的一部分.他们在改善用户体验和提升app的收益方面 ...

  4. 基于Delta lake、Hudi格式的湖仓一体方案

    ​简介: Delta Lake 和 Hudi 是流行的开放格式的存储层,为数据湖同时提供流式和批处理的操作,这允许我们在数据湖上直接运行 BI 等应用,让数据分析师可以即时查询新的实时数据,从而对您的 ...

  5. ICBU可控文本生成技术详解

    ​简介: 文本生成(Text Generation)是自然语言处理(Natural Language Processing,NLP)领域的一项重要且具有挑战的任务.顾名思义,文本生成任务的目的是生成近 ...

  6. S3-FIFO

    S3-FIFO 本文作为下一篇缓存文章的预备知识. 背景 基于LRU和FIFO的驱逐 FIFO和LRU都是经典的缓存驱逐算法,在过去几十年中也出现了很多追求更高效率的驱逐算法,如ARC, 2Q, LI ...

  7. 举例useContext性能低下的样例,同时推荐用什么方法改进

    在React中,useContext 是一种非常方便的全局状态管理工具,它可以让我们在组件之间共享状态,而不需要通过层层传递 props.然而,当我们在一个大型的 React 应用中过度使用 useC ...

  8. Uncaught TypeError: (intermediate value)(intermediate value)(intermediate value)(intermediate value)...is not a function

    之前写完前端部分的时候总是会出现这个错误 对应代码 解决方法,在后面加上分号即可解决

  9. LocalDateTime 时间偏移量的处理

    一.代码处理块 // 当前系统时间两年后的时间 LocalDateTime expirationTime = LocalDateTimeUtil.offset(LocalDateTime.now(), ...

  10. 关于armcc中static __inline修饰符的记录

    相关的知识点:内联函数,static关键字 在一次stm32的库代码分析中发现static __inline 的函数定义,对此有些疑惑,static和inline两个关键字为什么要进行连用呢? 对此进 ...