路由如下:
{
path: '/article/add',
component: () =>import('@/view/pages/article/edit/'),
name: 'article-add',
meta: {
title: $t('添加文章')
}
},
{
path: '/article/edit/:id',
component: () =>import('@/view/pages/article/edit/'),
name: 'article-edit',
meta: {
title: $t('编辑文章'),
// 增加当前菜单
menuActive: 'article',
}
},
js代码如下:
async function initFetch(router) {
const id = router.params.id
return $store.dispatch('Article/single', id).then(res=>{
return res
})
}
async beforeRouteEnter(to, from, next) {
try {
let data = {
status: 'publish'
}
if ( ADMIN['query-lang'] ) {
data.lang = ADMIN['query-lang']
}
if ( to.params.id ) {
data = await initFetch(to)
}
next(vm => vm.setPosts(data))
} catch (error) {
next(vm => vm.$router.push('/article/paged/1'))
throw error
}
},
setPosts(data) {
const _data = ObjExt.copy(data)
this.formData = _data
},
当我首次进入编辑文章页面路由时beforeRouteEnter内的next(vm=>vm.setPosts(data))会执行,当我切换到添加文章页面路由时beforeRouteEnter内的next(vm=>vm.setPosts(data))也会执行,但当我从添加文章页面路由回到编辑文章页面路由时beforeRouteEnter内的next(vm=>vm.setPosts(data))就不执行了,这个该怎么解决