这几天搭一个新的vue2项目,由于菜单只有2级想直接菜单和路由列表公用一套配置,所以采用了二级路由的形式
但是只在app里用了一个router-view,所以父级的component直接用的component: {render: (e) => e("router-view")},
然后子集直接在layout的插槽里跳转
这样在使用keep-alive的时候就出问题了:由于只有一个router-view,所以keep-alive只能写这里,但是父级由于render: (e) => e("router-view")插入了一个router-view,导致这个keep-alive在使用include的时候,只能查找到父级的name,不能控制子路由的缓存。
开始没想到是这个问题,搞了我接近一个小时。后面老老实实改回layout嵌套两层router-view。
这里做个笔记记录一下。
有没有大佬有单层router-view的解决方案呢?欢迎调教