具体代码如下:
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
}
},
从/article/edit/:id路由跳转到/article/add后再切换回/article/edit/:id时,beforeRouteEnter()内部的next(vm=>{})不执行