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 相关文章推荐
js正确获取元素样式详解
Aug 07 Javascript
JS调用CS里的带参方法实例
Aug 01 Javascript
jQuery中remove()方法用法实例
Dec 25 Javascript
javascript中sort()的用法实例分析
Jan 30 Javascript
实例代码详解javascript实现窗口抖动及qq窗口抖动
Jan 04 Javascript
node.js实现复制文本到剪切板的功能
Jan 23 Javascript
JavaScript实现修改伪类样式
Nov 27 Javascript
angularjs中$http异步上传Excel文件方法
Feb 23 Javascript
node puppeteer(headless chrome)实现网站登录
May 09 Javascript
javascript中如何判断类型汇总
May 14 Javascript
一些可能会用到的Node.js面试题
Jun 15 Javascript
JavaScript实现原型封装轮播图
Dec 27 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
Yii实现文章列表置顶功能示例
2016/10/18 PHP
php实现的三个常用加密解密功能函数示例
2017/11/06 PHP
你需要知道的JavsScript可以做什么?
2007/06/29 Javascript
通过身份证号得到出生日期和性别的js代码
2009/11/23 Javascript
利用腾讯的ip地址库做ip物理地址定位
2010/07/24 Javascript
jQuery 表单验证扩展代码(一)
2010/10/11 Javascript
jQuery 过滤not()与filter()实例代码
2012/05/10 Javascript
JS之Date对象和获取系统当前时间详解
2014/01/13 Javascript
js操作iframe父子窗体示例
2014/05/22 Javascript
用jquery实现动画跳到顶部和底部(这个比较简单)
2014/09/01 Javascript
jQuery给动态添加的元素绑定事件的方法
2015/03/09 Javascript
jQuery使用fadeout实现元素渐隐效果的方法
2015/03/27 Javascript
jQuery Validate初步体验(一)
2015/12/12 Javascript
全面解析Javascript无限添加QQ好友原理
2016/06/15 Javascript
js实现带缓动动画的导航栏效果
2017/01/16 Javascript
浅谈在fetch方法中添加header后遇到的预检请求问题
2017/08/31 Javascript
解决vue2.0动态绑定图片src属性值初始化时报错的问题
2018/03/14 Javascript
手写Vue2.0 数据劫持的示例
2021/03/04 Vue.js
python 参数列表中的self 显式不等于冗余
2008/12/01 Python
对python numpy数组中冒号的使用方法详解
2018/04/17 Python
python 已知平行四边形三个点,求第四个点的案例
2020/04/12 Python
tensorflow实现将ckpt转pb文件的方法
2020/04/22 Python
python时间time模块处理大全
2020/10/25 Python
10分钟理解CSS3 Grid布局
2018/12/20 HTML / CSS
电子商务应届生求职信
2013/11/16 职场文书
大学校园生活自我鉴定
2014/01/13 职场文书
语文教育专业求职信
2014/06/28 职场文书
给老婆的检讨书1000字
2015/01/01 职场文书
三孔导游词
2015/02/05 职场文书
医生辞职信范文
2015/03/02 职场文书
自我工作评价范文
2015/03/06 职场文书
小学教师岗位职责
2015/04/02 职场文书
民事答辩状范本
2015/05/21 职场文书
2015年度工程师评职称工作总结
2015/10/14 职场文书
《小小的船》教学反思
2016/02/18 职场文书
windows下快速安装nginx并配置开机自启动的方法
2021/05/11 Servers