vue缓存数据的方式,vue 本地缓存

  vue缓存数据的方式,vue 本地缓存

  本文主要介绍了vue调用本地缓存(监控数据变化)的方法,具有很好的参考价值。希望对大家有帮助。如有错误或不足之处,请不吝赐教。

  

目录

   vue使用方法调用本地缓存深度监控vue在main中侦听缓存事件以创建缓存事件,在组件生命周期中侦听缓存事件,并在组件业务代码中获取缓存使用值。

  

vue调用本地缓存

  

深度监视

  为了找到对象内部值的变化,可以在option参数中指定deep:true;[监视阵列变化不需要这个]

  

使用方法

  值为true的处理程序是一个回调函数,即当监视到更改为true或false时应该执行的函数deep。确认是否是深度监控(一般不能监控对象属性值的变化,但可以监控数组值的变化)。值为true或false的immediate,确认处理程序的函数是否用当前初始值执行。

  配置新的工具文件夹。

  配置缓存文件

  接收数据页面

  模板

  差异

  !-添加一个增加方法以传递给子组件-

  石坚:addTodo=addTodo /

  !-传递给子组件的数据-

  !-传递删除方法子组件-

  shijianone:todos= todos :delTodo= delTodo /

  !-传递给子组件-

  石尖窝

  :todos=todos

  :selectedAllTodo= selectedAllTodo

  :delFinishedTodos= delFinishedTodos

  /

  /div

  /模板

  脚本范围

  从“@/组件/石坚”导入石坚;

  从“@/components/Shijianone”导入Shijianone;

  从“@/components/Shijiantwo”导入Shijiantwo;

  从“@/utils/localstorgautil”导入localstorgautil;

  导出默认值{

  名称:正文,

  data() {

  返回{

  todos:localstorageutil . readtodos(),

  };

  },

  组件:{

  石坚,

  世家酮,

  石家庄,

  },

  //添加删除方法

  //添加递增方法

  方法:{

  //将数据参数作为(数据)插入

  addTodo(todo) {

  //传递数据(todo)

  this . todos . un shift(todo);

  },

  delTodo(索引){

  //删除一个。

  this.todos.splice(索引,1);

  },

  //检查所有任务?

  selectedAllTodo(isCheck) {

  this.todos.forEach((todo)={

  todo.finished=isCheck

  });

  },

  //选择要删除的方法。

  delFinishedTodos() {

  this . todos=this . todos . filter((todo)=!todo . finished);

  },

  },

  观察:{

  //深度监控

  todos: {

  //一旦监视到更改,就将其保存在本地

  //.saveTodos added()将报告错误。

  //执行保存操作。

  handler:localstorageutil . savetodos,

  //deep: true,深度监控

  深:真的,

  //immediate为真。一进来就执行处理函数

  即时:真的,

  },

  },

  };

  /脚本

  样式范围

  /风格

  配置缓存文件内容

  const LKTODO= lktodo

  导出默认值{

  readTodos(){

  返回JSON . parse(local storage . getitem(LKTODO) [])

  },

  saveTodos(todos){

  //下面一行只是为了打印。

  console . log(todos);

  localStorage.setItem(LKTODO,JSON . stringify(todos));

  }

  }

  

vue监听缓存事件

  随着H5的更新,前端经常使用本地存储来交互处理数据。如果您想要监视缓存更改,下面的代码就是您想要的。

  

在main创建缓存事件

  //侦听缓存事件

  vue . prototype . $ addStorageEvent=function(type,key,data) {

  if (type===1) {

  //创建StorageEvent事件

  var newStorageEvent=document . create event( storage event );

  常量存储={

  setItem: function(k,val) {

  localStorage.setItem(k,val);

  //初始化创建的事件

  newstorageevent . initstorageevent(

  存储项目,

  假的,

  假的,

  k,

  空,

  瓦尔,

  空,

  空

  );

  //发送对象

  window . dispatch event(newStorageEvent);

  },

  };

  返回storage.setItem(key,data);

  }否则{

  //创建一个存储事件事件

  var newStorageEvent=document。创建事件(“存储事件”);

  常量存储={

  setItem: function(k,val) {

  sessionStorage.setItem(k,val);

  //初始化创建的事件

  newstorageevent。initstorageevent(

  设置项目,

  假的,

  假的,

  k,

  空,

  瓦尔,

  空,

  空

  );

  //派发对象

  窗户。调度事件(newStorageEvent);

  },

  };

  返回storage.setItem(key,data);

  }

  };

  

在组件生命周期中 监听缓存事件并取值

  window.addEventListener(

  stotageItem,

  (e)={ //e代表存储的数据{答:1 }

  解析(英语)

  },

  错误的

  );

  

在组件业务代码 进行缓存使用

  这个addStorageEvent(0,使用存储,

  //写入数据

  JSON.stringify({ a:1 })

  );

  以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: