4

在扩展 Knockout 的功能时,什么时候适合使用自定义绑定、扩展器和使用“fn”的自定义函数?选择一个而不是另一个时会影响性能吗?

4

1 回答 1

13

当您尝试完成的功能涉及 UI 和您的数据时,您通常希望选择自定义绑定,因此您需要访问元素并且通常需要一些数据来控制如何处理元素。

.fn在这一点上,扩展程序和添加到之间确实没有太大区别。在通过.fn.

这通常不是问题,但扩展器只适用于可观察对象和计算可观察对象。使用.fn您需要添加功能才能ko.subscribable.fn使其对两者都可用。但是,在某些情况下,您的功能可能仅适用于其中一个,因此使用ko.observable.fnandko.computed.fn将是更好的选择。

我发现扩展.fn是最简洁的语法。如果您确定要返回this或包装它的新类型,那么您可以轻松支持链接。扩展器更明确一点,并确保类型的 API 表面区域保持精简(为此值得)。

于 2012-04-26T13:32:25.813 回答