问题描述
似乎是一个简单的要求,当然我可以使用 lifecycle hooks 维护自己的标志。另请参阅 https://forum.vuejs.org/t/check-if-mounted-was-called/88177/6 以了解类似问题。
然而,我更喜欢使用已经内置的东西。我敢肯定,VueJs 会在某处维护生命周期状态。
这是我的观察者,简化了:
@Watch('openId')
private onopenIdChanged() {
this.submitSomething(); //But ONLY if it's mounted!
}
如何在不使用自己的标志的情况下,在组件的观察者中访问同一组件的生命周期状态?
解决方法
没有为此提供公共 API,因此唯一正确答案是维护您自己的标志。
Vue 内部使用的组件实例 _isMounted
上有一个私有属性(从 2.6.11 版开始)。