同一个页面设置不同的路由名称
描述
数据列表,点击新增和编辑跳到同一个页面,页面title需要显示新增或者编辑。
beforeRouteEnter
beforeRouteEnter是在组件内定义的路由导航守卫,使用方式:
beforeRouterEnter(to,from,next){
next((vm)=>{
})
},
是支持给next传递回调的唯一守卫,回调的参数vm是当前vue实例。
在组件创建时,不仅执行created钩子,同时也会执行beforeRouteEnter。那么,什么时候使用created,什么时候使用beforeRouteEnter?
1、触发的时机
只有组件在创建时,才会触发created。
每次进入路由时,都会触发beforeRouteEnter。
所以,当一个页面使用了keep-alive进行了缓存时,离开这个页面后再次进入时,不会再触发created,但是会触发beforeRouteEnter。
所以,beforeRouteEnter一般会配合keep-alive使用。
2、获取前一个路由的参数
beforeRouterEnter的参数中,可以获取到前一个路由的参数。
以上内容来自:
https://blog.csdn.net/longtengg1/article/details/125296833
解决
beforeRouteEnter(to, from, next) {
if (to.query.isEdit == false) {
to.meta.title = '新建'
} else if (to.query.isEdit == true) {
to.meta.title = '编辑'
}
next()
},