我使用 KnockoutJS 编写了一些自定义绑定。我仍然不确定何时使用ko.utils.unwrapObservable(item)
查看代码,该调用基本上检查是否item
是一个可观察的。如果是,则返回value(),如果不是,则返回value。查看 Knockout 中有关创建自定义绑定的部分,它们具有以下语法:
var value = valueAccessor(), allBindings = allBindingsAccessor();
var valueUnwrapped = ko.utils.unwrapObservable(value);
在这种情况下,他们通过调用可观察的()
但随后也打电话ko.utils.unwrapObservable
。我只是想弄清楚何时使用其中一种或另一种,或者我是否应该始终遵循上述模式并同时使用两者。
你应该使用ko.utils.unwrapObservable
如果您不知道是否已获得可观察到的情况。这通常是在自定义绑定中,可观察的或不可观察的可以与其绑定。
在上面的代码中,调用valueAccessor()
实际上并没有展开一个可观察的。它只是检索在正确的上下文中传递给绑定的值(它被包装在一个函数中以保护它)。返回值valueAccessor()
可能是可观察的,也可能不是。它是传递给绑定的任何内容。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)