0

我们的 durandal 应用程序有许多模块化 UI 组件(全部使用基于 AMD 构造函数的视图模型创建),我想开始添加 pub/sub 通信。我需要确定确保正确“清理”订阅的最佳方法。

何时/如何清理这些订阅?

对于少数几个视图模型,该deactivate事件似乎已经足够了,但其余的呢?我没有看到允许视图模型在其自身之后可靠地“清理”的特定机制。

在我实施某种一次性模式之前,是否有一些我在这里遗漏的明显方法?

后续问题:除了调用 subscription.off() 来正确清理之外,还有什么可以做的吗?

4

1 回答 1

1

在使用视图模型时或从subscription.off()使用小部件时调用应该是所有需要的。事件系统有一堆测试用例https://github.com/BlueSpire/Durandal/blob/master/test/specs/events.spec.js#L240,可以用作您自己测试的启动器。deactivatedetached

于 2014-01-19T10:59:09.850 回答