vue2使用KeepAlive包裹router-view后切换页面报错的问题

56 阅读1分钟

1.首先给大家复现一下我出现这种问题的来龙去脉

image.png

image.png 我是要给按钮加一个权限控制,达到显示移除 但是问题来了,你用keepAlive缓存页面后,你这个页面切换后动态路由的这些参数是会销毁丢失的, 唯一的解决办法是用 vuex 存共享数据 这里第一步是 我在 vuex/store/index.js文件里面 定义一个变量

image.png 这里第二步是

image.png 定义俩函数 这里是写在 mutations里面

这里第三步是

image.png 在actions里面 加一个函数

接下来是在router/index.js里面加以下代码

这里第一步是 image.png 最后一步在 对应的vue文件里加

image.png

切记!获取name不要用this.route.name,这个切换页面在缓存中是会销毁丢失的,用this.route.name ,这个切换页面在缓存中是会销毁丢失的,用this.options.name 获取当前组件的name值