मैंने नॉकआउट जेएस का उपयोग करके कुछ कस्टम बाइंडिंग लिखी है। ko.utils.unwrapObservable(item)कोड का उपयोग करते समय मैं अभी भी अनिश्चित हूं , यह देखने के लिए मूल रूप से कॉल करता है कि क्या itemयह देखने योग्य है। यदि यह है, तो मान लौटाएँ (), यदि यह नहीं है, तो मान लौटाएँ। कस्टम बाइंडिंग बनाने के बारे में नॉकआउट पर अनुभाग को देखते हुए, उनके पास निम्नलिखित सिंटैक्स हैं:
var value = valueAccessor(), allBindings = allBindingsAccessor();
var valueUnwrapped = ko.utils.unwrapObservable(value);
इस मामले में, वे अवलोकन के माध्यम से आह्वान करते हैं, ()लेकिन फिर कॉल भी करते हैं ko.utils.unwrapObservable। मैं बस कोशिश कर रहा हूं कि एक बनाम दूसरे का उपयोग कब किया जाए या अगर मुझे हमेशा उपरोक्त पैटर्न का पालन करना चाहिए और दोनों का उपयोग करना चाहिए।
ko.toJS(yourObject)उपयोग करने के बजाय बेहतर कामko.utils.unwrapObservableकर रहे हैं, यदि आप एक विजेट या 3 डी पार्टी लाइब्रेरी में पास होने के लिए ऑब्जेक्ट का एक अलिखित संस्करण प्राप्त करने का प्रयास कर रहे हैं। सामान्य तौर पर, यहko.utils.unwrapObservableपर्यवेक्षकों और गैर-वेधशालाओं का समर्थन करने के लिए उपयोग करना सबसे सुरक्षित है ।