vue用了vuex和路由的缓存,出问题了一个页面添加按钮进去后一直都有上一次添加的数据参数在上面如何修改?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue用了vuex和路由的缓存,出问题了一个页面添加按钮进去后一直都有上一次添加的数据参数在上面如何修改?相关的知识,希望对你有一定的参考价值。
vue用了vuex和路由的缓存,出问题了一个页面添加按钮进去后一直都有上一次添加的数据参数在上面,如何再次添加点击进去后,里面的参数为空白,可重新添加新数据
参考技术A 建议在路由钩子里面做判断,beforeRouterEntervue-pos 缓存问题
缓存问题:
1: 问题描述: 如果某个页面用了 $destroy 方法销毁页面的所有信息,那么在次进该页面,将不会有缓存,就算有<keep-alive> 属性
解决方案 : 注册一个init方法,如果返回不调用,跳转就调用,在该方法实现初始化操作,具体步骤如下
a : 添加1个实例方法,用于路由跳转,方法的目的就是传入参数,用于标识是跳转,还是返回
b : 在需要缓存的组件添加一个方法 init ,
c : 注入全局组件:mixin , 组件添加activated 方法,该方法不管返回还是跳转都会调用,方法里面获取标识,
如果标识是true,并且当前组件有方法init ,就说明是跳转,调用初始化方法 init , 否则是返回不调用
2: 问题描述 : 有一个A页面使用了缓存,当从别的页面返回到A页面时, A页面绑定的有些事件,例如监听输入框输入事件:"input",监听点击触摸屏事件:"touchstart" 会出错
解决方案 : 缓存页面只是缓存页面的数据,不会缓存状态,重新进入缓存页面,要对页面的data数据进行重新赋值,可以循环当前data,做深拷贝赋值
以上是关于vue用了vuex和路由的缓存,出问题了一个页面添加按钮进去后一直都有上一次添加的数据参数在上面如何修改?的主要内容,如果未能解决你的问题,请参考以下文章