Я написал несколько пользовательских привязок, используя KnockoutJS. Я до сих пор не уверен, когда использовать ko.utils.unwrapObservable(item) Глядя на код, этот вызов в основном проверяет, является ли item наблюдаемым. Если это так, вернуть значение(), если нет, просто вернуть значение. Глядя на раздел Knockout о создании пользовательских привязок, они имеют следующий синтаксис:
var value = valueAccessor(), allBindings = allBindingsAccessor();
var valueUnwrapped = ko.utils.unwrapObservable(value);
В этом случае они вызывают наблюдаемую ko.utils.unwrapObservable via () но затем также вызывают ko.utils.unwrapObservable. Я просто пытаюсь понять, когда использовать один против другого, или я должен просто всегда следовать вышеупомянутому образцу и использовать оба.