vue本地存储

本文介绍了JavaScript的本地存储机制,特别是webStorage中的SessionStorage和LocalStorage的使用,以及Vue组件间的自定义事件处理,包括如何设置、触发、解绑事件,以及全局引入与局部引入组件的权衡。
摘要由CSDN通过智能技术生成

1.本地存储
本地存储不是vue创建的,js里面就有

1.1webStorage
1.2存储内容大小一般支5MB左右(不同浏览器可能还不一样)

⒉.浏览器端通过Window.sessionStorage和 Window.localStorage属性来实现本地存储机制。

3.相关API:

1.xxxxxStorage.setItem( " key ’ , 'value ’ ) ;

该方法接受一个键和值作为参数,会把键值对添加到存储中,如果键名存在,则更新其对应的值。

2.xxxStorage.getItem( ’ person ’ );

该方法接受一个键名作为参数,返回键名对应的值。

3.xXXxxStorage.removeItem( ’ key ’ );

该方法接受一个键名作为参数,并把该键名从存储中删除。

4.xxxxxStorage.clear()

该方法会清空存储中的所有数据。

例子:

4.备注:

1.SessionStorage存储的内容会随着浏览器窗口关闭而消失。

2.LocalStorage存储的内容,需要手动清除才会消失。

3.xxxxxStorage.getItem(xxx)如果xxx对应的value获取不到,那么getltem的返回值是null。

4.JSON.parse(null)的结果依然是null。

2.组件的自定义事件
1.一种组件间通信的方式,适用于:子组件===>父组件

⒉使用场景:A是父组件,B是子组件,B想给A传数据,那么就要在A中给B绑定自定义事件(事件的回调在A中)。

3.绑定自定义事件:

1.第一种方式,在父组件中: Demo@atguigu=“test”/或

2.第二种方式,在父组件中:

<Demo ref="demo" /> 
....... 
mounted()
{ this.$refs.xxx.$on( 'atguigu ' ,this.test)} }

3.若想让自定义事件只能触发一次,可以使用once修饰符,或 $once方法。

4.触发自定义事件:this.$emitt( 'atguigu ',数据)

5.解绑自定义事件this.$off( 'atguigu ')

6.组件上也可以绑定原生DOM事件,需要使用native修饰符。

7.注意:通过this.$refs.xx. son(‘atguigo’ ,回调)绑定自定义事件时,回调要么配置在methods中,要么用箭头函数,否则this指向会出问题!

3.全局引入
全局引入方法和局部引入类似,组件的写法与局部引入完全一样,仅仅是引入方式有所区别
1、写组件
方法同上
2、引入组件
局部引入组件是在需要使用组件的文件中单独引入,这种方法很常见,在日常使用中大多都是采用局部引入。
但对于某些使用很频繁的组件,如标题这样的可能会所有文件都会使用的组件,这样在每个文件都引入显得很是繁琐,且万一遇到需求改变,修改起来也是异常麻烦,所以全局引入在此时就显得很有必要了。

在日常使用中应该尽量避免使用全局引入,这会大大增加项目体积,在组件复用性不高的情况下,应该使用局部引入,只有在组件复用性非常高的时候才应该考虑使用全局引入。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值