关于Vue-router命名视图的一个问题

<router-link to="/pageA">pageA</router-link>
<router-link to="/pageB">pageB</router-link>
<router-link to="/pageC">pageC</router-link>
<router-link to="/pageD">pageD</router-link>
<router-view name="basic"></router-view>
<router-view name="named"></router-view>

{
    path:'pageA',
    name:'pageA',
    components:{
        basic:pageA,
        named:pageC
    }
},
{
    path:'pageB',
    name:'pageB',
    components:{
        basic:pageB,
        named:pageD
    }
},
{
    path:'pageC',
    name:'pageC',
    components:{
        basic:pageA,  //这里或许是pageB,根据上一次点击pageA或者pageB决定的
        named:pageC
    }
},
{
    path:'pageD',
    name:'pageD',
    components:{
        basic:pageA,  //这里或许是pageB,根据上一次点击pageA或者pageB决定的
        named:pageD
    }
},

意思就是:当我点击pageA、pageB时,basic和named区域都会相应改变;但是当我点击pageC获取pageD时,basic区域保留上一次的内容不改变,named区域改变;这个怎么实现

阅读 1.8k
2 个回答

加上缓存呢?假设都有缓存,清需要改变的内容,组件basic:pageA, named:pageC感觉不应该route 里合并呢

其实你可以加多两个路由的,一个路由是 components: { basic:pageA, named:pageD },另一个是 components: { basic:pageB, named:pageD },然后在 path: '/pageD'路由的beforeEnter(to,from,next) { }里根据from路由重定向到对应的路由上

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题