नॉकआउट v2.1.0 डिबग स्रोत कोड से:Knockout.js की डिफ़ॉल्ट समानता तुलनाकर्ता गैर-आदिम प्रकारों का बराबर क्यों नहीं मानता है?
ko.observable['fn'] = {
"equalityComparer": function valuesArePrimitiveAndEqual(a, b) {
var oldValueIsPrimitive = (a === null) || (typeof(a) in primitiveTypes);
return oldValueIsPrimitive ? (a === b) : false;
}
};
यह मेरे लिए unintuitive लगता है, लेकिन किसी कारण स्टीव सैंडरसन अपने रास्ते से बाहर चला गया इस परिभाषित करने के लिए होना चाहिए। यह मामला क्यों होगा? ऐसा लगता है कि अनावश्यक रूप से परिवर्तन अधिसूचनाएं ट्रिगर होती हैं।
महान सवाल! शायद मैं पर्याप्त केओ को समझ नहीं पा रहा हूं, लेकिन उपर्युक्त कोड कैसे अधिसूचनाओं को बदलता है? –