:Knockout.jsのデフォルトの等価比較子が、非プリミティブ型を等しくないものとして扱うのはなぜですか?ノックアウトバージョン2.1.0デバッグソースコードから
ko.observable['fn'] = {
"equalityComparer": function valuesArePrimitiveAndEqual(a, b) {
var oldValueIsPrimitive = (a === null) || (typeof(a) in primitiveTypes);
return oldValueIsPrimitive ? (a === b) : false;
}
};
これは私にはわかりにくいようだが、スティーブサンダーソンは、これを定義するために彼の方法から出て行ったいくつかの理由がなければなりません。なぜこれが当てはまるのでしょうか?変更通知が不必要にトリガーされているようです。
大きな質問です! 私はちょうど十分なKOを理解していないかもしれませんが、上記のコードはどのように変更通知をトリガーしますか? –