Vue.js实现备忘录功能


Posted in Javascript onJune 26, 2019

本文实例为大家分享了Vue.js实现备忘录的具体代码,供大家参考,具体内容如下

效果展示:

Vue.js实现备忘录功能

html代码:

<!DOCTYPE html>
<html>
 <head>
 <meta charset="utf-8">
 <!-- 移动设备设置 -->
 <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no">
 <title>记事本</title>
 <link rel="stylesheet" type="text/css" href="css/noteUI.css" >
 <!-- vue核心框架 -->
 <script src="vue/vue.js" type="text/javascript" charset="UTF-8"></script>
 <script src="vue/vue-resource.min.js" type="text/javascript" charset="UTF-8"></script>
 </head>
 <body>
 
 <div id="app">
 <!-- 一般用于头部 -->
 <header>
 <h1>备忘录<span class="right">{{now}}</span></h1>
 </header>
 <section>
 <!-- 多行文本 -->
 <!-- 视图传数据 -->
 <!-- v-model="diary"双向数据绑定 -->
 <textarea v-model="diary" style="width: 100%;height: 200px;" placeholder="写日记是一个好习惯">
 </textarea>
 <!-- @click='finished'绑定methods属性中的方法 -->
 <button @click="finished" class="finish">完成</button>
 </section>
 <ul>
 <!-- 循环遍历data中的noteooks属性B,每次循环都赋值给nb -->
 <!-- v-for="(数组值,数组下标) in noteBooks"-->
 <li v-for="(nb,i) in noteBooks">
  <!--nb.txt类似对象访问-->
  <!-- v-html="nb.txt"绑定html代码 -->
  <p v-html="nb.txt">写日记是一个好习惯</p>
  <div class="btn_ground">
  <button @click="del" type="button" class="del left">删除</button>
  <!-- v-text="nb.time" 绑定文本等价于 {{nb.time}}-->
  <span class="time" v-text="nb.time"></span>
  <button @click="upDate(i)" type="button" class="update right">修改</button>
  </div>
 </li>
 </ul>
 </div>
 <footer>
 版权所有 zk
 </footer>
 <script src="noteBook.js" type="text/javascript" charset="UTF-8"></script>
 
 </body>
</html>

CSS代码:

*{
 margin: 0;
 padding:0;
}
header,#app,footer{
 margin:0 8px;
}
header h1{
 color: #FF4500;
 font-weight: normal;
 font-size: 24px;
 padding-top: 10px;
 padding-bottom: 4px;
 border-bottom: 1px solid #ccc;
 margin-bottom: 4px;
}
 
#app textarea{
 width: 100%;
 height: 200px;
 border: none;
 border-bottom: 1px solid #ccc;
 padding: 8px 4px;
}
button{
 padding: 4px;
 background-color: #fff;
 border: 1px solid #ccc;
 border-radius: 4px;
}
/* position: relative;没有脱离正常流 */
/* relitive相对于自己在流中的元素定位 */
/* relative一般用于位置微调,或者让absolute参考自己定位 */
#app section{
 position: relative;
 
}
.finish{
 position: absolute;
 background-color: limegreen;
 bottom: 8px;
 right: 4px;
}
#app ul{
 margin-top: 8px;
}
#app li{
 border-bottom: 1px solid #CCCCCC;
 margin-bottom: 8px;
}
.left{
 float: left;
}
.right{
 float: right;
}
/* 组合选择器 */
 
header span.right{
 font-size: 14px;
 padding-top:13px;
}
.btn_ground{
 height: 30px;
 margin-top: 4px;
}
.del{
 background-color: orangered;
 color: #FFFFFF;
}
.update{
 background-color: royalblue;
 color: #FFFFFF;
}
footer{
 color: #999;
 text-align: center;
 font-size: 12px;
}

js代码:

function getNowString(){
 var now=new Date()
 var arr=['日','一','二','三','四','五','六']
 
 return now.toLocaleDateString()
  +'星期'
 +arr[now.getDay()]
}
 
var App = new Vue({
 el:'#app',
 data:{
 now:getNowString(),
 noteBooks:[
 {
 time:'2019/6/17 星期一',
 txt:'今天天气不好'
 },{
 time:'2019/6/18 星期二',
 txt:'今天学习<i style="color:red">Adidas'
 }
 ],
 diary:'',
 index:'-1'
 },
 methods:{
 finished:function(){
 //!App.diary是考虑App.diary=null的情况
 if(!App.diary||0==App.diary.length)return
 
 if(-1==App.index){
 //存入noteBooks中
 //unshift插入到数组首位
 App.noteBooks.unshift({
  time:App.now,
  txt:App.diary
 })
 }else{
 //修改
 App.noteBooks[App.index]={
  time:App.now,
  txt:App.diary
 }
 App.index=-1
 }
 App.diary = ''
 App.now=getNowString()
 },
 del:function(i){
 // 删除 splice(起始下标,删除个数)
 App.noteBooks.splice(i,1)
 },
 upDate:function(i){
 var nb=App.noteBooks[i]
 App.diary=nb.txt
 App.now = nb.time
 //App.index 为-1表示新增,其他就是修改
 App.index=i
 }
 }
})

 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
无缝滚动改进版支持上下左右滚动(封装成函数)
Dec 04 Javascript
jQuery性能优化28条建议你值得借鉴
Feb 16 Javascript
在表单提交前进行验证的几种方式整理
Jul 31 Javascript
jQuery的attr与prop使用介绍
Oct 10 Javascript
JavaScript实现的一个日期格式化函数分享
Dec 06 Javascript
ECMAScript6函数默认参数
Jun 12 Javascript
JQuery中DOM事件绑定用法详解
Jun 13 Javascript
微信小程序 表单Form实例详解(附源码)
Dec 22 Javascript
三种方式实现瀑布流布局
Feb 10 Javascript
让div运动起来 js实现缓动效果
Jul 06 Javascript
JavaScript中Object值合并方法详解
Dec 22 Javascript
js回调函数仿360开机
Dec 26 Javascript
微信小程序数据统计和错误统计的实现方法
Jun 26 #Javascript
Vue移动端右滑屏幕返回上一页附源码下载
Jun 26 #Javascript
微信小程序利用Canvas绘制图片和竖排文字详解
Jun 25 #Javascript
js+html实现周岁年龄计算器
Jun 25 #Javascript
Vue 列表上下过渡效果的实例代码
Jun 25 #Javascript
JS 封装父页面子页面交互接口的实例代码
Jun 25 #Javascript
微信小程序Echarts图表组件使用方法详解
Jun 25 #Javascript
You might like
php 字符串压缩方法比较示例
2014/01/23 PHP
PHP数组array类常见操作示例
2020/05/15 PHP
Javascript 刷新全集常用代码
2009/11/22 Javascript
javascript setTimeout和setInterval 的区别
2009/12/08 Javascript
jquery创建表格(自动增加表格)代码分享
2013/12/25 Javascript
超炫的jquery仿flash导航栏特效
2014/11/11 Javascript
JavaScript 异常处理 详解
2015/02/06 Javascript
第一次接触JS require.js模块化工具
2016/04/17 Javascript
jQuery实现图片轮播效果代码(基于jquery.pack.js插件)
2016/06/02 Javascript
微信小程序 教程之wxapp 视图容器 view
2016/10/19 Javascript
使用gulp搭建本地服务器并实现模拟ajax
2017/04/05 Javascript
详解vue移动端项目的适配(以mint-ui为例)
2018/08/17 Javascript
iview tabs 顶部导航栏和模块切换栏的示例代码
2019/03/04 Javascript
详解Nodejs get获取远程服务器接口数据
2019/03/26 NodeJs
Vue路由前后端设计总结
2019/08/06 Javascript
layui的layedit富文本赋值方法
2019/09/18 Javascript
VUE中使用HTTP库Axios方法详解
2020/02/05 Javascript
谈谈JavaScript中的函数
2020/09/08 Javascript
[05:59]带你看看DPC的台前幕后
2021/03/11 DOTA
python实现的文件夹清理程序分享
2014/11/22 Python
深入理解NumPy简明教程---数组2
2016/12/17 Python
Python3导入自定义模块的三种方法详解
2018/04/13 Python
Python3实现的回文数判断及罗马数字转整数算法示例
2019/03/27 Python
Python脚本利用adb进行手机控制的方法
2019/07/08 Python
新年福利来一波之Python轻松集齐五福(demo)
2020/01/20 Python
Python列表倒序输出及其效率详解
2020/03/04 Python
python主要用于哪些方向
2020/07/05 Python
html5跳转小程序wx-open-launch-weapp踩坑
2020/12/02 HTML / CSS
施工资料员的岗位职责
2013/12/22 职场文书
德语专业求职信
2014/03/12 职场文书
学校火灾防控方案
2014/06/09 职场文书
2015年爱牙日活动总结
2015/03/23 职场文书
2015年纪念“卢沟桥事变”78周年活动方案
2015/05/06 职场文书
怒海潜将观后感
2015/06/11 职场文书
学生安全责任协议书
2016/03/22 职场文书
Redis 报错 error:NOAUTH Authentication required
2022/05/15 Redis