在扩展 Knockout 的功能时,什么时候适合使用自定义绑定、扩展器和使用“fn”的自定义函数?选择一个而不是另一个时会影响性能吗?
问问题
832 次
1 回答
13
当您尝试完成的功能涉及 UI 和您的数据时,您通常希望选择自定义绑定,因此您需要访问元素并且通常需要一些数据来控制如何处理元素。
.fn
在这一点上,扩展程序和添加到之间确实没有太大区别。在通过.fn
.
这通常不是问题,但扩展器只适用于可观察对象和计算可观察对象。使用.fn
您需要添加功能才能ko.subscribable.fn
使其对两者都可用。但是,在某些情况下,您的功能可能仅适用于其中一个,因此使用ko.observable.fn
andko.computed.fn
将是更好的选择。
我发现扩展.fn
是最简洁的语法。如果您确定要返回this
或包装它的新类型,那么您可以轻松支持链接。扩展器更明确一点,并确保类型的 API 表面区域保持精简(为此值得)。
于 2012-04-26T13:32:25.813 回答