Saya telah menulis beberapa binding kustom menggunakan KnockoutJS. Saya masih tidak yakin kapan harus menggunakan ko.utils.unwrapObservable(item)
Melihat kode, panggilan itu pada dasarnya memeriksa untuk melihat apakah item
dapat diamati. Jika ya, kembalikan nilai (), jika tidak, kembalikan nilainya. Melihat bagian di Knockout tentang membuat binding kustom, mereka memiliki sintaks berikut:
var value = valueAccessor(), allBindings = allBindingsAccessor();
var valueUnwrapped = ko.utils.unwrapObservable(value);
Dalam hal ini, mereka memanggil yang dapat diamati melalui ()
tetapi kemudian juga memanggil ko.utils.unwrapObservable
. Saya hanya mencoba untuk mengetahui kapan harus menggunakan satu vs. yang lain atau jika saya harus selalu mengikuti pola di atas dan menggunakan keduanya.
ko.toJS(yourObject)
daripada menggunakanko.utils.unwrapObservable
, jika Anda mencoba untuk mendapatkan versi yang tidak terbungkus dari objek untuk diteruskan ke widget atau pustaka pihak ketiga. Secara umum, ini paling aman digunakanko.utils.unwrapObservable
untuk mendukung yang dapat diamati dan yang tidak dapat diamati.