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