Ho scritto alcune associazioni personalizzate usando KnockoutJS. Non sono ancora sicuro di quando usare ko.utils.unwrapObservable(item)Looking at the code, quella chiamata controlla fondamentalmente per vedere se itemè un osservabile. Se lo è, restituisci il valore (), se non lo è, restituisci semplicemente il valore. Guardando la sezione su Knockout sulla creazione di associazioni personalizzate, hanno la seguente sintassi:
var value = valueAccessor(), allBindings = allBindingsAccessor();
var valueUnwrapped = ko.utils.unwrapObservable(value);
In questo caso, invocano l'osservabile via ()ma poi chiamano anche ko.utils.unwrapObservable. Sto solo cercando di capire quando usare l'uno o l'altro o se dovrei seguire sempre lo schema sopra e usare entrambi.
ko.toJS(yourObject)piuttosto che usareko.utils.unwrapObservable, se stai cercando di ottenere una versione non incartata dell'oggetto da passare in un widget o in una libreria di terze parti. In generale, è più sicuro da usareko.utils.unwrapObservableper supportare osservabili e non osservabili.