5. Vue - 小清单实例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>小清单</title>
<link rel="stylesheet" href="../bootstrap/bootstrap/css/bootstrap.min.css">
<style>
/*修饰完成事件样式*/
.doneIcon {
color: green;
}
.doneText {
text-decoration: line-through;
}
</style>
</head>
<body>
<script src="../vue/vue.js"></script>
<div class="container">
<div class="row">
<div class="col-sm-6 col-sm-offset-3">
<div class="panel panel-default" style="margin-top: 80px">
<div class="panel-heading" style="background-color: rgba(37,176,211,0.26)">
<h3 class="panel-title">小清单</h3>
</div>
<div class="panel-body" id="app">
<!--通过form中默认回车提交,但还需要清除掉form的默认的提交事件;调用自定义的addThing事件-->
<form action="" v-on:submit.prevent="addThing">
<div class="input-group col-sm-6 col-sm-offset-3">
<input type="text" class="form-control" placeholder="请输入待办事件" v-model="inputThing.title">
<span class="input-group-btn">
<button class="btn btn-default" type="button" v-on:click="addThing"><span
class="glyphicon glyphicon-plus"></span></button>
</span>
</div><!-- /input-group -->
</form>
<hr>
<ul class="list-group">
<li class="list-group-item" v-for="(item, index) in things" v-bind:key="index"
v-on:click="done(index)">
<span class="glyphicon glyphicon-ok-sign" v-bind:class="{doneIcon:item.status}"></span>
<span v-bind:class="{doneText:item.status}">{{ item.title }}</span>
<span class="glyphicon glyphicon-remove-sign pull-right"
v-on:click="delThing(index)"></span>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<script>
let app = new Vue({
el: '#app',
data: {
// 根据设置的status来为完成事件添加样式
things: [
{'title': '吃饭', 'status': false},
{'title': '睡觉', 'status': false},
{'title': '打豆豆', 'status': false},
],
inputThing: {'title': '', 'status': false},
},
methods: {
addThing() {
// 如果输入为空或空格(trim)return
if (this.inputThing.title.trim() === '') {
return
}
this.things.push(this.inputThing);
this.inputThing={'title': '', 'status': false}
},
// 根据索引删除数组中的数据splice(元素索引,删除几个)=>1,则删除当前元素;不写则删除当前元素及后面的所有
delThing(index) {
this.things.splice(index, 1)
},
done(index) {
this.things[index].status = true;
}
}
})
</script>
</body>
</html>
5. Vue - 小清单实例的更多相关文章
- python 全栈开发,Day89(sorted面试题,Pycharm配置支持vue语法,Vue基础语法,小清单练习)
一.sorted面试题 面试题: [11, 33, 4, 2, 11, 4, 9, 2] 去重并保持原来的顺序 答案1: list1 = [11, 33, 4, 2, 11, 4, 9, 2] ret ...
- Vue.js起手式+Vue小作品实战
本文是小羊根据Vue.js文档进行解读的第一篇文章,主要内容涵盖Vue.js的基础部分的知识的,文章顺序基本按照官方文档的顺序,每个知识点现附上代码,然后根据代码给予个人的一些理解,最后还放上在线编辑 ...
- VUE小练习(按钮颜色,数组映射)
VUE小练习(按钮颜色,数组映射) ## 1.有红.黄.蓝三个按钮,以及一个200x200矩形框box, 点击不同的按钮,box的颜色会被切换成指定的颜色 ''' 解法一:我本来的思路,把三个按钮绑定 ...
- vue小故事之父子(上下级)通信之父传子props
vue小故事之父子(上下级)通信之父传子props vue 父子(上下级)通信 props 或许你对父子通信有点迷糊,为什么这样那样父子之间就可以通信了,以下通过一个小故事来进行解说,故事模型或许有 ...
- 微信小程序实例源码大全
微信小程序实例源码大全下载 微信小应用示例代码(phodal/weapp-quick)源码链接:https://github.com/phodal/weapp-quick 微信小应用地图定位demo( ...
- 微信小程序实例教程(一)
序言 开始开发应用号之前,先看看官方公布的「小程序」教程吧!(以下内容来自微信官方公布的「小程序」开发指南) 本文档将带你一步步创建完成一个微信小程序,并可以在手机上体验该小程序的实际效果.这个小程序 ...
- vue学习笔记 实例(二)
var data = {a: 1} var vm = new Vue({ el: '#example', data: data, created: function () { // `this` 指向 ...
- 一个基于ES6+webpack的vue小demo
上一篇文章<一个基于ES5的vue小demo>我们讲了如何用ES5,vue-router做一个小demo,接下来我们来把它变成基于ES6+webpack的demo. 一.环境搭建及代码转换 ...
- 一个基于ES5的vue小demo
由于现在很多vue项目都是基于ES6开发的,而我学vue的时候大多是看vue官网的API,是基于ES5的,所以对于刚接触项目的我来说要转变为项目的模块化写法确实有些挑战.因此,我打算先做一个基于ES5 ...
随机推荐
- licode(1) Basic Example 客户端解析
整体 在浏览其中输入https://dst_host_domain:13004后, 请求了index.html,该文件在licode\extras\basic_example\public\index ...
- Python Django,事务,transaction.atomic,事务保存点
from django.shortcuts import renderfrom django.http import HttpResponsefrom django.views.generic imp ...
- 浅谈python之利用pandas和openpyxl读取excel数据
在自学到接口自动化测试时, 发现要从excel中读取测试用例的数据, 假如我的数据是这样的: 最好是每行数据对应着一条测试用例, 为方便取值, 我选择使用pandas库, 先安装 pip instal ...
- Spring Cloud 如何搭建eureka
Eureka Server 的搭建 eureka 是 Spring Cloud 的注册中心,提供服务注册和服务发现的功能. 利用idea 快速创建一个eureka应用File - NewProject ...
- pytroch中cp27m和cp27mu的区别及判别方法
python中m和mu的区别 从https://download.pytorch.org/whl中下载pytorch安装包时常会发现有相同版本的安装包有cp27m和cp27mu两种,其中cp27m是u ...
- 设计模式-FlyWeight(结构型模式) 针对 需要创建大量对象的情形,被共享的状态作为内部状态,不被共享的状态作为外部状态
以下代码来源: 设计模式精解-GoF 23种设计模式解析附C++实现源码 //Flyweight.h #pragma once #include<string> class FlyWeig ...
- npm install 提示 `gyp: No Xcode or CLT version detected!` MacOS 10.15
https://github.com/nodejs/node-gyp/issues/569 https://github.com/nodejs/node-gyp/issues/1927 解决链接:ht ...
- hdu6464 线段树
http://acm.hdu.edu.cn/showproblem.php?pid=6464 题意 一个空序列,q次操作,一种是往序列后插入x个y,另一种是查询序列中第x小到第y小的数字之和 题解 线 ...
- HTML5新属性在Google浏览器中不能显示的问题
这两天在学习HTML5新属性时遇到了如下问题,很是不解: 例如在学习使用canvas时,需要绘制一个红色的原点,代码如下: <!DOCTYPE HTML> <html> < ...
- 第04组 Beta冲刺(4/5)
队名:new game 组长博客 作业博客 组员情况 鲍子涵(队长) 过去两天完成了哪些任务 地图移动 接下来的计划 素材和脚本相连 引入声音素材 还剩下哪些任务 让游戏本体运行 遇到了哪些困难 时间 ...