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!