vue学习如何引入js,封装操作localStorage本地储存的方法

// 封装操作localStorage本地储存的方法 模块化的文件

//nodejs 基础

var storage={

    set(key,value){
        localStorage.setItem(key,JSON.stringify(value));
    },
    get(key){
        return JSON.parse(localStorage.getItem(key));
    },
    remove(key){
        localStorage.removeItem(key);
    }

}

export default storage;

export用于对外输出本模块(一个文件可以理解为一个模块)变量的接口
import用于在一个模块中加载另一个含有export接口的模块。
也就是说使用export命令定义了模块的对外接口以后,其他JS文件就可以通过import命令加载这个模块(文件)

<script>

import storage from ‘./model/storage.js‘

export default {
  data () {  /*业务逻辑里面定义的数据*/
    return {
      msg: ‘你好 vue‘,
      todo:"",
      list:[],
    }
  },
  methods: {
    doadd(e){
      if(e.keyCode==13){
        this.list.push({
          title:this.todo,
          checked:false
        });
      }
      storage.set(‘list‘,this.list);//localStorage会可以将第一次请求的数据直接存储到本地
    },removeData(index){
      this.list.splice(index,1);
      storage.set(‘list‘,this.list);
    },
    savelist(){
      storage.set(‘list‘,this.list);
    }
  },
  mounted() { /* 生命周期函数 vue页面刷新就会触发的方法 */
    var list=storage.get(‘list‘);
    if(list){
      this.list=list;
    }
  },
}
</script>

export与export default
但是export跟export default 有什么区别呢?

1、export与export default均可用于导出常量、函数、文件、模块等
2、你可以在其它文件或模块中通过import+(常量 | 函数 | 文件 | 模块)名的方式,将其导入,以便能够对其进行使用
3、在一个文件或模块中,export、import可以有多个,export default仅有一个
4、通过export方式导出,在导入时要加{ },export default则不需要

这样来说其实很多时候export与export default可以实现同样的目的,只是用法有些区别。注意第四条,通过export方式导出,在导入时要加{ },export default则不需要。使用export default命令,为模块指定默认输出,这样就不需要知道所要加载模块的变量名

来源:https://blog.csdn.net/qq_33562537/article/details/85255846

原文地址:https://www.cnblogs.com/huchong-bk/p/12161820.html

时间: 2024-08-24 15:17:33

vue学习如何引入js,封装操作localStorage本地储存的方法的相关文章

从prototype.js中学习到的js封装

最近在学习prototype.js,发现这里面的代码适合像我这种初学者(使用过一些库和框架,并用一些框架写过一些项目的人)学习,下面从源码截取一些面向对象封装的代码用于学习. 1.给Object的原型添加extend方法,功能是对象的扩展,把一个对象的值赋值给源对象,如果源对象存在属性,则修改,这种方法以前在jQuery中经常用到 Object.prototype.extend=function(object){ for(property in object){ this[property]=o

14 vue学习 postcssrc eslintrc.js babelrc

一  .postcssrc.js 众所周知为兼容所有浏览器,有的CSS属性需要对不同的浏览器加上前缀,然而有时添加一条属性,需要添加3~4条类似的属性只是为了满足浏览器的兼容,这不仅会增加许多的工作量,还会使得你的思路被打断.  如何解决这个问题? 处理CSS前缀问题的神器--AutoPrefixer. Autoprefixer是一个后处理程序,你可以同Sass,Stylus或LESS等预处理器共通使用.它适用于普通的CSS,而你无需关心要为哪些浏览器加前缀,只需全新关注于实现,并使用W3C最新

js dom操作获取节点的一些方法

在复习javascript基础的时候,整理了一下js中获取节点的一些常用的方法,见代码: 1 //js获取下一个兄弟节点 2 function getNextSibling(eleObj){ 3 var next = eleObj.nextSibling; 4 if(next.nodeType == 3){ // 文本节点 5 return next.nextSibling; 6 } 7 return next; 8 } 9 //js获取上一个兄弟节点 10 function getPrevio

用js封装的处理一些事件的方法

//声明一个对象 var eventUtil={ //添加句柄 addHandler:function(element,type,handler){ //DOM2级事件处理判断 if(element.addEventListener){ element.addEventListener(type,handler,false); }else if(element.attachEvent){//IE事件处理判断 element.attachEvent('on'+type,handler); }els

脚手架搭建的vue项目里引入jquery和bootstrap

引入jquery: 1.在cmd输入:npm install jquery,回车,等待.. 2.在webpack.base.conf.js里进行如下操作: 3.在webpack.prod.conf.js里进行如下操作: 4.在入口文件里引入: 不知道是不是jquery版本的问题,在重构以前写的页面时,通过在.vue文件里引入js的方式将写好的js引入(该js文件里用了jquery插件),部分功能有问题 引入bootstrap 参照网上的方式进行了实践,生效了. 主要在配置文件里添加了两个配置文件

jQuery学习之------元素样式的操作

jQuery学习之------元素样式的操作 一..addClass( className )方法----增加样式 1.addClass( className ) : 为每个匹配元素所要增加的一个或多个样式名 <head> <style> /*css样式代码*/ .soulsjie{ background:red; } .newstyle{ height:100px; width:100px; } .newsty2{ font-size:16px; } </style>

原生JS封装AJAX

今天我们来说说利用原生JS封装AJAX. jquery框架的AJAX方法确实很好用,但有时候我们写的页面需要引入多个JS插件,不一定哪个插件就会和jquery发生冲突,导致jquery用不了了.或者页面比较简单,不需要加重浏览器的负担,这时我们自己封装一个AJAX就是一个很好的办法. //将数据转换成 a=1&b=2格式;function json2url(json){   var arr = [];   //加随机数防止缓存;   json.t = Math.random();   for(v

JS DOM操作(创建、遍历、获取、操作、删除节点)

创建节点 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=devic

vue组件内部引入远程js文件

之所以要做这个是因为,在一个组件内部需要引入一个js文件来定位.如果放在index.html,这样每个组件都会有这个js.所以需要在组件内单独引入. 第一种操作 Dom引入js: export default { mounted() { const s = document.createElement('script'); s.type = 'text/javascript'; s.src = 'https://g.alicdn.com/dingding/dinglogin/0.0.2/ddLo