在beforeRouteEnter中不能使用this的原因可以理解为,还没有进入组件,所以找不到this,
但是可以使用下面的方法访问,做一个next的回调,传入vm,vm就是组件实例,用vm代替this
比如 this.$router.replace就替换为vm.$router.replace就可以使用了
beforeRouteEnter(to, from, next) {
next(vm => {
if (vm.$store.state.isSelectedPro) {
return true
} else {
vm.$message.info('请选择一个项目')
vm.$router.replace('/layout/')
}
})
},