首页 > 解决方案 > Vue JS 2:在 beforeCreate 之后停止生命周期

问题描述

有没有办法在 beforeCreate 方法中停止渲染和执行 created() 和 mounted() ?只需在组件上调用 $destroy() 就会在创建后触发。

Vue.js 生命周期

标签: javascriptvue.jslifecycle

解决方案


不,还有其他方法可以阻止组件渲染

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' });  
  }
}

推荐阅读