问题描述
有没有办法在beforeCreate方法中停止渲染和执行created()和mounted()?只需在组件上调用 $destroy() 就会在创建后触发。
解决方法
没有。还有其他方法可以防止组件渲染
v-if
在父级中使用 v-if
进行条件渲染。
<child v-if="shouldRender"></child>
data: () => ({
shouldRender: false
})
beforeRouteEnter
如果组件是路由器页面,您可以使用 beforeRouteEnter
导航守卫阻止它被创建。
beforeRouteEnter (to,from,next) {
if (something) {
// Don't render the component,go somewhere else
next({ path: '/somewhere' });
}
}