vue中在同一个路由中修改meta.title的值

场景:table列表中点击添加和编辑按钮都会去到同一个页面。添加时,title为 “添加xxx”;修改时,title为“修改xxx”。

接手了别人的项目,他们的解决方法是重写一个路由,updatexxxx/:id,项目小还行。如果遇到大的项目,那得写多少行啊。况且写这段代码也没用 !!

第一个想法就是:使用js来修改。也就是通过this.$route.meta.title = “”;
然而,我测试过了之后,发现这玩意有Bug。
最后,我想起了使用路由中的钩子函数,路由独享守卫beforeEnter
{
    path: 'xxxxx',
    beforeEnter(to,from,next) => {
       if (to.meta.id == 'add') {
          to.meta.title="添加";
       } else {
           to.meta.title="修改";
       }
    },
    component: xxxxxx
}
好了,代码已实现!over!

posted @ 2022-06-17 15:07  always_strive  阅读(1999)  评论(0编辑  收藏  举报