En mi modelo de vista, tengo un ObserableArray knockoutjs. Justo después de inicializar ViewModel, vincula los datos con éxito. Entonces, lo que tengo que hacer es ordenar la colección.knockoutjs ObservableArrays y función de ordenación: UI no se actualiza
$.each(vm.searchResults(), function (i, property) {
console.log(property.Name());
});
vm.searchResults().sort(function (a, b) {
return a.Name().toLowerCase() > b.Name().toLowerCase() ? 1 : -1;
});
$.each(vm.searchResults(), function (i, property) {
console.log(property.Name());
});
Como se puede ver, la salida I Nombre del elemento a la consola para ver el antes y después de la clasificación. La clasificación funciona bien. El problema es con la actualización de UI. De alguna manera, la interfaz de usuario no se actualiza.
A continuación, tratar de eliminar un registro de la matriz con el código siguiente para ver si la interfaz de usuario responderá a eso o no:
vm.searchResults().shift();
La interfaz de usuario sigue siendo el mismo y no actualizó de nuevo. ¿Cuál sería el problema aquí?
Editar:
Este es un caso de ejemplo, así: http://jsfiddle.net/tugberk/KLpwP/
El mismo problema aquí también.
Editar:
He resuelto el problema como se muestra en este ejemplo: http://jsfiddle.net/tugberk/KLpwP/16/ Pero todavía no estoy seguro de por qué funcionó mientras trataba en un principio.