使用自定义绑定,扩展程序或自定义函数扩展Knockout

Hom*_*mer 4 javascript performance knockout.js

在扩展Knockout的功能时,何时使用"fn"使用自定义绑定vs扩展器与自定义功能是否合适?选择一个而不是另一个会对性能产生影响吗?

RP *_*yer 13

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

.fn在这一点上,扩展器和添加之间确实没有太大的区别.在共享功能可用之前,扩展器稍微添加到KO .fn.

它通常不是问题,但扩展器只适用于可观察量和计算可观察量.使用.fn您需要添加功能,ko.subscribable.fn以便它们都可用.但是,在某些情况下,您的功能可能仅适用于其中一种,因此使用ko.observable.fn并且ko.computed.fn将是更好的选择.

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