在我的路由器中有一个动态路由,在从 beforeRouteEnter 中的 store 调用中获取数据后,我需要设置其路径的最后一部分
beforeRouteEnter (to, from, next) {
if(to.params.categoryId) {
next(vm => {
store.dispatch('getSearchResults', to.params)
.then(res => {
let category = res.data.categories.find(cat => cat.id == to.params.categoryId);
to.params.CName = category.name;
// to.path = to.path + `/${category.name}`;
console.log(to)
}).catch(err => false)
})
}else next();
路线:
{
path: 'directory/bc-:categoryId(\\d+)?/:CName?',
name: 'SearchResults',
component: () => import(/* webpackChunkName: "listing" */ '../views/SearchResults.vue')
},
我需要将 Route 中的 CName 更改为数据中的 category.name ,以便路由最终在 Id 之后显示类别名称