vue2使用路由嵌套和keep-alive出现的坑

这几天搭一个新的vue2项目,由于菜单只有2级想直接菜单和路由列表公用一套配置,所以采用了二级路由的形式

但是只在app里用了一个router-view,所以父级的component直接用的component: {render: (e) => e("router-view")},

router.js

然后子集直接在layout的插槽里跳转

app.vue

这样在使用keep-alive的时候就出问题了:由于只有一个router-view,所以keep-alive只能写这里,但是父级由于render: (e) => e("router-view")插入了一个router-view,导致这个keep-alive在使用include的时候,只能查找到父级的name,不能控制子路由的缓存。

开始没想到是这个问题,搞了我接近一个小时。后面老老实实改回layout嵌套两层router-view。

这里做个笔记记录一下。

app.vue
layout.vue
router.js

有没有大佬有单层router-view的解决方案呢?欢迎调教

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值