虽然我被路由到'myFavouritePage',但是'嗨,我是小孩'在路由到'myFavouritePage'后被打印出来。父项中是否有一个函数,在完成后会创建子组件? 父:
beforeCreate () {
var orderNumber = this.$store.state.myStore.order.number
if (!orderNumber) {
this.$router.push({name: 'myFavouritePage'})
}
}
子:
mounted () {
cosole.log('Hi, I'm child')
}
答案 0 :(得分:1)
您可以在组件中使用组件防护,并将vuex存储导入到同一文件中。
import store from 'pathto/your/store'
beforeRouteEnter(to, from, next) {
if (!store.state.myStore.order.number) return next({name: 'myFavouritePage'})
next();
}
答案 1 :(得分:1)
为了阐明不同生命周期事件的order是什么,以下是它们发生的顺序:
然而,对于您和@Srinival建议的目的,您可以使用beforeRouteEnter来决定是继续渲染还是想重定向到其他路线。