Javascript 过渡';s钩子一旦被销毁并回调,就会产生问题

Javascript 过渡';s钩子一旦被销毁并回调,就会产生问题,javascript,vue.js,vuejs2,vue-component,Javascript,Vue.js,Vuejs2,Vue Component,我有一个父组件和子组件,在子组件中我有一个定义如下的: <template lang="pug"> div transition(name="fade-transition" mode="out-in" v-on:after-enter="fnAfterEnter") h1(v-if"someCondition") lorem ipsum </template> <script> export default { meth

我有一个父组件和子组件,在子组件中我有一个定义如下的

<template lang="pug">
  div
    transition(name="fade-transition" mode="out-in" v-on:after-enter="fnAfterEnter")
      h1(v-if"someCondition") lorem ipsum
</template>

<script>
  export default {
    methods: {
      fnAfterEnter () {
        do something here...
      }
    }
  }
</script>

div
转换(name=“fade transition”mode=“out in”v-on:after enter=“fAfterenter”)
h1(v-if“someCondition”)lorem ipsum
导出默认值{
方法:{
fnfenter(){
在这里做点什么。。。
}
}
}
问题是,在父组件中,我有一些函数将使用简单的
v-if
条件挂载和销毁子组件。第一次挂载子组件时一切正常,但一旦销毁并重新挂载后,所有挂钩(不仅仅是
v-on:after-enter
)都不会触发方法
fafter-enter


提前感谢:)

我发现问题是:子组件的转换没有完成,我正在父组件中运行一些函数,使子组件的转换项条件
为true
而不使用
$nextTick
,但现在我喜欢下面的代码,问题得到了解决

<script>
  export default {
    methods: {
      someFnInParent () {
        this.$nextTick(() => {
          this.$refs.childComp.someCondition = true
        })
      }
    }
  }
</script>

导出默认值{
方法:{
一些不重要的(){
这个.$nextTick(()=>{
此.$refs.childComp.someCondition=true
})
}
}
}

所以,
this.$nextTick(()=>{})
帮了我的忙:)

你能详细说明一下预期的行为和你实际看到的行为吗?您提供的描述很难理解。@B.Fleming我自己解决问题,发布了解决方案,请查看。