Desde el código fuente de depuración Knockout v2.1.0:¿Por qué el comparador de igualdad predeterminado de Knockout.js trata a los tipos no primitivos como no iguales?
ko.observable['fn'] = {
"equalityComparer": function valuesArePrimitiveAndEqual(a, b) {
var oldValueIsPrimitive = (a === null) || (typeof(a) in primitiveTypes);
return oldValueIsPrimitive ? (a === b) : false;
}
};
Esto parece poco intuitivo para mí, pero tiene que haber alguna razón Steve Sanderson salió de su manera de definir esto. Por qué sería este el caso? Parece activar innecesariamente notificaciones de cambio.
¡excelente pregunta! tal vez simplemente no entiendo bastante KO pero, ¿cómo el código anterior dispara las notificaciones de cambio? –