Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度-在Ngondestory中调用时是否保证输出?_Angular - Fatal编程技术网

Angular 角度-在Ngondestory中调用时是否保证输出?

Angular 角度-在Ngondestory中调用时是否保证输出?,angular,Angular,标题说明了一切。。。在OnDestroy生命周期中调用时,是否保证发出输出 我知道它是有效的,因为我已经测试过了,但我只需要一个保证或建议,否则为什么要避免这样做 谢谢。这个问题的最终答案可能应该来自一位棱角分明的团队成员。然而,似乎可以安全地假设事件将被交付。记住,onNgDestroy不是关于销毁组件的实例;这是关于组件作为视图结构中的组件结束其生命周期。只要另一个组件正在“订阅”相关组件的@Output属性,就不应该对组件实例进行垃圾收集,这意味着它及其发射器属性应该是安全的,并在事件交付

标题说明了一切。。。在OnDestroy生命周期中调用时,是否保证发出输出

我知道它是有效的,因为我已经测试过了,但我只需要一个保证或建议,否则为什么要避免这样做


谢谢。

这个问题的最终答案可能应该来自一位棱角分明的团队成员。然而,似乎可以安全地假设事件将被交付。记住,
onNgDestroy
不是关于销毁组件的实例;这是关于组件作为视图结构中的组件结束其生命周期。只要另一个组件正在“订阅”相关组件的
@Output
属性,就不应该对组件实例进行垃圾收集,这意味着它及其发射器属性应该是安全的,并在事件交付之前继续运行


因此,尽管这不是一个“保证”,但似乎可以安全地假设输出将发出。

这个问题的最终答案可能应该来自一个有棱角的团队成员。然而,似乎可以安全地假设事件将被交付。记住,
onNgDestroy
不是关于销毁组件的实例;这是关于组件作为视图结构中的组件结束其生命周期。只要另一个组件正在“订阅”相关组件的
@Output
属性,就不应该对组件实例进行垃圾收集,这意味着它及其发射器属性应该是安全的,并在事件交付之前继续运行


因此,尽管这不是一个“保证”,但似乎可以安全地假设输出将发射。

您不应该以思考的方式依赖它。它不是
ngondestorying
,它的名称表明事件是在任何破坏发生之前触发的。 触发事件时,组件销毁已开始。例如,DOM已经被删除

您可以在此处看到相关讨论:

[更新]
你可以描述(或问新问题)你到底想完成什么,这样我们就可以看到其他的选择。

你不应该以你思考的方式依赖它。它不是
ngondestorying
,它的名称表明事件是在任何破坏发生之前触发的。 触发事件时,组件销毁已开始。例如,DOM已经被删除

您可以在此处看到相关讨论:

[更新]
你可以描述(或问新问题)你到底想完成什么,这样我们就可以看到其他选择。

我很困惑,不理解这个问题。你能提供一个简单的例子来解释你的问题吗?我很困惑,不理解这个问题。你能提供一个简单的例子来解释你的问题吗?如果他的
Output()
是基于组件中的DOM事件怎么办?@deezg我不理解你的问题。组件中的DOM事件将由执行
emit
的常规方法处理,因此我看不出这与
ngondestory
相关的问题有什么关系。您可以在ngondestory仍在运行之前/期间删除DOM元素,实际上他将不会向
@Output
发射任何东西。正如在我发布的链接讨论中所看到的,
ngondestry
文档不精确,而且这里的问题闻起来像是一些潜在的糟糕设计。我仍然不明白。如果dom元素被破坏,它就不能再生成任何事件,那么我们为什么要担心这些事件是否被传递呢?OP的问题似乎是,如果
onNgDestroy
中的显式
this.emitter.emit()
能够保证传递给听者,正如我所说的,并且OP表明他的实验证实了这一点,我认为会。嗯,这在很大程度上取决于触发
emit
的是什么。如果
emit
在dom事件处理程序中,并且组件在dom事件发生的同时被销毁,您是否仍然觉得有保证
emit
交付?如果他的
Output()
是基于组件中的dom事件呢?@deezg我不理解您的问题。组件中的DOM事件将由执行
emit
的常规方法处理,因此我看不出这与
ngondestory
相关的问题有什么关系。您可以在ngondestory仍在运行之前/期间删除DOM元素,实际上他将不会向
@Output
发射任何东西。正如在我发布的链接讨论中所看到的,
ngondestry
文档不精确,而且这里的问题闻起来像是一些潜在的糟糕设计。我仍然不明白。如果dom元素被破坏,它就不能再生成任何事件,那么我们为什么要担心这些事件是否被传递呢?OP的问题似乎是,如果
onNgDestroy
中的显式
this.emitter.emit()
能够保证传递给听者,正如我所说的,并且OP表明他的实验证实了这一点,我认为会。嗯,这在很大程度上取决于触发
emit
的是什么。如果
emit
在dom事件处理程序中,并且组件在dom事件发生的同时被销毁,您是否仍然觉得可以保证
emit
交付?