vue的sessionStorage,vuex监听localstorage
这篇文章主要介绍了某视频剪辑软件项目如何监听本地存储或本地存储的变化,帮助大家更好的理解和使用某视频剪辑软件框架,感兴趣的朋友可以了解下
出现这个问题的起因:在一个VUE页面中,引入两个组件,一个组件实现基础信息展示,B组件展示列表,我要通过A组件的一个按钮触发状态,然后B组件根据A组件触发的状态来做业务处理,首先想到的是把状态放在本地存储,接下去就是在B组件怎么监听A组件状态
解决方法:
1.首先在 main.js 中给 Vue.protorype 注册一个全局方法,然后创建一个 StorageEvent 方法,当我在执行sessionStorage.setItem(k, val) 的时候,初始化事件并派发事件。
/**
* @描述
* @作者(通过将docthis.authorName添加到设置文件中来设置该标签的文本。)
* @日期2019-05-29
* @param { number }类型一本地存储2会话存储
* @param { string }键键
* @param { string }数据要存储的数据
* @返回
*/
vue。原型。$ addStorageEvent=function(type,key,data) {
if (type===1) {
//创建一个存储事件事件
var newStorageEvent=document。创建事件(“存储事件”);
常量存储={
setItem: function (k,val) {
localStorage.setItem(k,val);
//初始化创建的事件
newstorageevent。initstorageevent( setItem ,false,false,k,null,val,null,null);
//派发对象
窗户。调度事件(newStorageEvent);
}
}
返回storage.setItem(key,data);
}否则{
//创建一个存储事件事件
var newStorageEvent=document。创建事件(“存储事件”);
常量存储={
setItem: function (k,val) {
sessionStorage.setItem(k,val);
//初始化创建的事件
newstorageevent。initstorageevent( setItem ,false,false,k,null,val,null,null);
//派发对象
窗户。调度事件(newStorageEvent);
}
}
返回storage.setItem(key,data);
}
}
还有一个简单封装监听本地存储
2.在A组件中调用——写入缓存
这个. addStorageEvent(2, user_info ,data);
或者
这个。resetsetitem( watch storage ,JSON obj);
3.在B组件中监听
窗户。addevent侦听器( setItem ,(e)={
控制台。日志(e);
});
或者
窗户。addevent侦听器( setItem ,()={
这个。新val=会话存储。getitem(手表存储);
var data=JSON.parse(this.newVal)
console.log(数据)
})
以上就是某视频剪辑软件项目如何监听本地存储或本地存储的变化的详细内容,更多关于某视频剪辑软件项目监听本地存储或本地存储的资料请关注我们其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。