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 相关文章推荐
extjs关于treePanel+chekBox全部选中以及清空选中问题探讨
Apr 02 Javascript
js模拟点击以提交表单为例兼容主流浏览器
Nov 29 Javascript
js数值和和字符串进行转换时可以对不同进制进行操作
Mar 05 Javascript
在WordPress中加入Google搜索功能的简单步骤讲解
Jan 04 Javascript
AngularJS教程 ng-style 指令简单示例
Aug 03 Javascript
单行 JS 实现移动端金钱格式的输入规则
May 22 Javascript
react学习笔记之state以及setState的使用
Dec 07 Javascript
Vue2.0实现调用摄像头进行拍照功能 exif.js实现图片上传功能
Apr 28 Javascript
Angular父子组件通过服务传参的示例方法
Oct 31 Javascript
关于JS解构的5种有趣用法
Sep 05 Javascript
layui文件上传控件带更改后数据传值的方法
Sep 23 Javascript
微信小程序绘制半圆(弧形)进度条
Nov 18 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执行速度全攻略(上)
2006/10/09 PHP
php自定义urlencode,urldecode函数实例
2015/03/24 PHP
php如何获取文件的扩展名
2015/10/28 PHP
PHP类型约束用法示例
2016/09/28 PHP
php多进程中的阻塞与非阻塞操作实例分析
2020/03/04 PHP
JS两种定义方式的区别、内部原理
2013/11/21 Javascript
浅析javascript中function 的 length 属性
2014/05/27 Javascript
jquery分割字符串的方法
2015/06/24 Javascript
javascript history对象详解
2017/02/09 Javascript
js实现鼠标拖动功能
2017/03/20 Javascript
ES6入门教程之Iterator与for...of循环详解
2017/05/17 Javascript
JS库之Particles.js中文开发手册及参数详解
2017/09/13 Javascript
jquery实现倒计时小应用
2017/09/19 jQuery
Vue多种方法实现表头和首列固定的示例代码
2018/02/02 Javascript
Vue高版本中一些新特性的使用详解
2018/09/25 Javascript
如何制作一个Node命令行图像识别工具
2018/12/12 Javascript
微信小程序日历弹窗选择器代码实例
2019/05/09 Javascript
js实现动态时钟
2020/03/12 Javascript
利用python实现命令行有道词典的方法示例
2017/01/31 Python
python操作xlsx文件的包openpyxl实例
2018/05/03 Python
python+opencv实现霍夫变换检测直线
2020/10/23 Python
python添加模块搜索路径和包的导入方法
2019/01/19 Python
python机器学习库scikit-learn:SVR的基本应用
2019/06/26 Python
将python运行结果保存至本地文件中的示例讲解
2019/07/11 Python
教你如何编写、保存与运行Python程序的方法
2019/07/12 Python
python 爬虫百度地图的信息界面的实现方法
2019/10/27 Python
Python自动采集微信联系人的实现示例
2020/02/28 Python
Django框架models使用group by详解
2020/03/11 Python
《回乡偶书》教学反思
2014/04/12 职场文书
学习十八大宣传标语
2014/10/09 职场文书
2016年大学生寒假社会实践心得体会
2015/10/09 职场文书
2016年中秋祝酒词
2015/11/26 职场文书
基于Python的EasyGUI学习实践
2021/05/07 Python
嵌入式Redis服务器在Spring Boot测试中的使用教程
2021/07/21 Redis
第四次工业革命,打工人与机器人的竞争
2022/04/21 数码科技
介绍一下28个JS常用数组方法
2022/05/06 Javascript