javascript - 转换的钩子一旦被销毁并回调就会产生问题
问题描述
我有一个父组件和子组件,在子组件中我有一个<transition>
这样的定义:
<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>
问题是,在父组件中,我有一些函数可以以简单的v-if
条件安装和销毁子组件。第一次安装子组件时事情会正常工作,但一旦被销毁并再次安装回来,<transition>
所有的钩子(不仅仅是v-on:after-enter
)都不会触发方法fnAfterEnter
。
提前致谢 :)
解决方案
我发现问题是:子组件的转换没有完成,我在父组件中运行了一些函数来使子组件的转换项条件true
不使用$nextTick
,但是现在我确实喜欢下面的代码并且问题得到了解决。
<script>
export default {
methods: {
someFnInParent () {
this.$nextTick(() => {
this.$refs.childComp.someCondition = true
})
}
}
}
</script>
所以,this.$nextTick(() => {})
帮助了我:)
推荐阅读
- angular - 在 Angular 中加载拦截器的条件竞争问题
- python - Access-Control-Allow-Origin 存在,但 Chrome 仍然给出 CORS 错误
- microsoft-graph-api - Microsoft Graph API 团队聊天组
- css - 为什么我的动画不起作用?仅 CSS
- esper - Esper 查询何时在一个位置发生多个不同的事件
- javascript - addEventListener 方法无法正常工作
- excel - 如何在excel中转换持续时间?(例如)0h 31m 3s 到 00:31:03?
- reactjs - React:条件渲染和判别联合
- python - Plotly dash 用户依赖的服务器端缓存
- python - 如何使用 pymssql 在 SQL Server 中插入数据?