先说目标,为了实现tab的名字与真实业务名称关联
例如一个详情页的路由定义如下
{
path: "/knowledge/private/detail/:id",
meta: {
title: "个人知识"
},
component: () => import("......")
},
其中id为具体的业务id,想实现点击某个知识(比如:系统介绍),跳转到详情页面,并且document.title
和tab的名字显示为个人知识-系统介绍
,即原来的meta.title+具体知识的名称。
现在tab组件中,是通过route的meta.title取值来实现的。因为router.push
无法传递meta,只能通过query来传动态的title,但是这样又会将title显示在浏览器地址栏中,而使用params又不能满足可以刷新。
router.push({
path: "/knowledge/private/detail/" + row.id,
query: {
isEdit: true,
title: row.name
}
});
请问有没有什么其他办法可以解决,如果在router.push的时候就可以传参title的话最好,代码量最少,(不考虑通过vuex、emit、inject之类的)
全局的 路由导航守卫 beforeEach, 统一根据路由 改变 document.title可以吗