1

当我在页面上选择一个元素时,我请求 Json 并使用 和触发页面转换的动画。goog.fx.dom.FadeInAndShowgoog.fx.dom.FadeOutAndHide

如果单击一个元素,然后快速单击另一个元素,则请求将被取消并填充最近一次单击的数据,但是,上一次单击的动画还没有完全完成,这会导致传入信息受先前动画的影响END

我想知道getAnimations组件上是否有类似动画的东西,然后.destroy()在它们完成之前就可以使用它们。

4

1 回答 1

1

如果您的动画与 goog.ui.Component(或任何其他扩展 goog.Disposable 的对象)相关联,那么在创建每个动画后,您可以通过组件/一次性的 registerDisposable() 方法将动画注册到组件。

这样,您可以释放组件(通过调用它的 dispose() 方法),这将在所有向其注册的 Disposables 上调用 dispose()。查看 goog.fx.Animation ,当调用 dispose() 时,会调用它的 stop() 方法,所以我相信这应该可以工作。

您也可以创建一个 goog.Disposable 用于在其上注册动画并从一个地方处理所有动画。也就是说,如果您注册了很多动画并且在需要它们很久之后才调用 dispose,那么您将发生内存泄漏,因为这将阻止动画被垃圾收集。

于 2011-11-22T14:58:27.840 回答