【问题标题】:Vue JS 2: Stop lifecycle after beforeCreateVue JS 2:在 beforeCreate 之后停止生命周期
【发布时间】:2021-02-12 11:10:15
【问题描述】:

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

【问题讨论】:

    标签: javascript vue.js lifecycle


    【解决方案1】:

    没有。还有其他方法可以阻止组件渲染

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-19
      • 2018-04-23
      • 2011-07-03
      • 2019-03-09
      • 1970-01-01
      • 2017-07-06
      • 1970-01-01
      相关资源
      最近更新 更多