这是我们的vue2后台管理系统的项目框架,请教一个问题?


最外层的header和aside是通过router-view的形式加载aside右侧content页面的。但是有一个模块也是左侧aside右侧内容区域,我的疑问是里层的左右布局也应该用router来处理吗,还是说单纯写v-if来切换组件呢?另外还有一个问题,右侧整个模块是keep-alive的,那么activated应该写在每个子模块里,还是写在外层框架里。

阅读 3.5k
3 个回答

第一个问题:应不应该用router来处理,个人觉得看你的切换效果需不需要浏览器的url有变化。还要考虑,一旦相似布局的模块数量变多,如果用v-if你的维护成本就高了。router比较清晰,一个路由对应一个组件。

第二个问题:activated只是个生命周期函数,写在哪取决于你要在哪个组件里面处理对应的事情。

也用 router 来处理,v-if 维护成本太高了。

当然,如果只是一个 tabs ,你也可以用 tabs 组件来写。


activated 是指?

同样用router去实现

    <keep-alive>
        <router-view :key="$route.path"></router-view>
    </keep-alive>

二级路由需要添加key,否则一级路由默认不会active

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