vue中使用localstorage来存储页面信息


Posted in Javascript onNovember 04, 2017

今天小颖在跟着慕课网学习vue,不学不知道,一学吓一跳,学了才发现,我之前知道的只是vue的冰山一角,嘻嘻,今天把小颖跟着慕课网学习的demo,给大家分享下,希望对大家有所帮助嘻嘻。

环境搭建:

参考:vue API

详情:

npm install --global vue-cli

vue中使用localstorage来存储页面信息

 vue init webpack vue-project

vue中使用localstorage来存储页面信息

然后:

 vue中使用localstorage来存储页面信息

cd vue-project

npm install    如果你配置了淘宝镜像,也可以用cnpm install

npm run dev

我们就在浏览器看到:

vue中使用localstorage来存储页面信息 

但我们最终要实现:

vue中使用localstorage来存储页面信息 

如何实现如图的效果呢?

1.将App.vue修改为:

<template>
 <div id="app">
  <div class='vue-demo'>
   <input type="text" class="txt" v-model='newItem' @keyup.enter='addItemFun'>
   <ul>
    <li v-for="its in items">{{its.name}}</li>
   </ul>
  </div>
 </div>
</template>
<script>
import store from './store'
export default {
 name: 'app',
 data() {
  return {
   newItem: '',
   items: store.fetch()
  }
 },
 watch: {
  items: {
   handler: function(val, oldVal) {
    store.save(val);
   },
   deep: true
  }
 },
 methods: {
  addItemFun() {
   var _this = this;
   _this.items.push({ 'name': _this.newItem });
   _this.newItem = '';
  }
 }
}

</script>
<style>
#app {
 font-family: 'Avenir', Helvetica, Arial, sans-serif;
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale;
 text-align: center;
 color: #2c3e50;
 margin-top: 60px;
}

.vue-demo {
 width: 400px;
 margin: 0 30px;
}

.txt {
 width: 200px;
 height: 25px;
 line-height: 24px;
 border-radius: 5px;
}

</style>

对于初学vue的同学,可能对于watch可能不太熟悉,那就麻烦大家移步到 vue API 或参考下小颖之前写的文章:vue——实例方法 / 数据

2.在与App.vue同级目录下,新建store.js文件:

const STORAGE_KEY = 'todos-vuejs'

export default {

 fetch: function() {

  return window.JSON.parse(window.localStorage.getItem(STORAGE_KEY) || '[]')

 },

 save: function(items) {

  window.localStorage.setItem(STORAGE_KEY, window.JSON.stringify(items))

 }

}

3.在项目中打开cmd窗口,运行:npm run dev,就完成啦嘻嘻。

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

Javascript 相关文章推荐
自己做的模拟模态对话框实现代码
May 23 Javascript
JQuery中关于jquery.js与jquery.min.js的比较探讨
May 15 Javascript
jquery动态调整div大小使其宽度始终为浏览器宽度
Jun 06 Javascript
Jquery1.9.1源码分析系列(十五)动画处理之外篇
Dec 04 Javascript
BootStrap实用代码片段之一
Mar 22 Javascript
浅谈JS之iframe中的窗口
Sep 13 Javascript
关于Iframe父页面与子页面之间的相互调用
Nov 22 Javascript
基于BootStrap multiselect.js实现的下拉框联动效果
Jul 28 Javascript
对vue.js中this.$emit的深入理解
Feb 23 Javascript
angular 表单验证器验证的同时限制输入的实现
Apr 11 Javascript
vue实现前端列表多条件筛选
Oct 26 Javascript
js动态添加带圆圈序号列表的实例代码
Feb 18 Javascript
javascript+jQuery实现360开机时间显示效果
Nov 03 #jQuery
原生JavaScrpit中异步请求Ajax实现方法
Nov 03 #Javascript
使用 Javascript 实现浏览器推送提醒功能的示例
Nov 03 #Javascript
Angular4绑定html内容出现警告的处理方法
Nov 03 #Javascript
关于Vue背景图打包之后访问路径错误问题的解决
Nov 03 #Javascript
React.Js添加与删除onScroll事件的方法详解
Nov 03 #Javascript
基于jQuery解决ios10以上版本缩放问题
Nov 03 #jQuery
You might like
《星际争霸II》全新指挥官斯台特曼现已上线
2020/03/08 星际争霸
浅析PHP水印技术
2007/02/14 PHP
php保存任意网络图片到服务器的方法
2015/04/14 PHP
PHP随机获取未被微信屏蔽的域名(微信域名检测)
2017/03/19 PHP
php实现推荐功能的简单实例
2019/09/29 PHP
JavaScript实现页面实时显示当前时间的简单实例
2013/07/20 Javascript
jquery next nextAll nextUntil siblings的区别介绍
2013/10/05 Javascript
淘宝网提供的国内NPM镜像简介和使用方法
2014/04/17 Javascript
JavaScript实现的石头剪刀布游戏源码分享
2014/08/22 Javascript
浅谈Javascript中的Function与Object
2015/01/26 Javascript
JavaScript判断是否为数字的4种方法及效率比较
2015/04/01 Javascript
jQuery-1.9.1源码分析系列(十一)DOM操作续之克隆节点
2015/12/01 Javascript
BootStrap 超链接变按钮的实现方法
2016/09/25 Javascript
对javascript继承的理解
2016/10/11 Javascript
bootstrapValidator 重新启用提交按钮的方法
2017/02/20 Javascript
jQuery插件FusionCharts实现的Marimekko图效果示例【附demo源码】
2017/03/24 jQuery
vue+element-ui集成随机验证码+用户名+密码的form表单验证功能
2018/08/05 Javascript
js笔试题-接收get请求参数
2019/06/15 Javascript
详解vue 命名视图
2019/08/14 Javascript
linux 下以二进制的方式安装 nodejs
2020/02/12 NodeJs
js实现复制粘贴的两种方法
2020/12/04 Javascript
在Python中使用itertools模块中的组合函数的教程
2015/04/13 Python
Python中的数学运算操作符使用进阶
2016/06/20 Python
Python AES加密实例解析
2018/01/18 Python
简单谈谈Python的pycurl模块
2018/04/07 Python
python 判断网络连通的实现方法
2018/04/22 Python
Python3 读、写Excel文件的操作方法
2018/10/20 Python
简单了解python的break、continue、pass
2019/07/08 Python
python字符串替换re.sub()方法解析
2019/09/18 Python
结合CSS3的布局新特征谈谈常见布局方法
2016/01/22 HTML / CSS
湖南卫视在线视频媒体平台:芒果TV
2019/10/30 全球购物
房屋租赁协议书范本
2014/04/10 职场文书
理发店策划方案
2014/06/05 职场文书
幼儿园体操比赛口号
2015/12/25 职场文书
死磕 java同步系列之synchronized解析
2021/06/28 Java/Android
vue中data里面的数据相互使用方式
2022/06/05 Vue.js