knockoutjs ObservableArrays и функция сортировки: пользовательский интерфейс не обновляется

В моей модели представления у меня есть knockoutjs ObserableArray. Сразу после того, как я инициализировал ViewModel, он успешно связывает данные. Затем мне нужно отсортировать коллекцию.

<code>$.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());
});
</code>

Как вы можете видеть, я вывожу Имя элемента на консоль, чтобы увидеть порядок до и после сортировки. Сортировка работает просто отлично. Проблема с обновлением пользовательского интерфейса. Почему-то пользовательский интерфейс не обновляется.

Затем попробуйте удалить запись из массива с помощью следующего кода, чтобы увидеть, будет ли пользовательский интерфейс реагировать на это:

<code>vm.searchResults().shift();
</code>

Пользовательский интерфейс остается прежним и больше не обновляется. В чем здесь проблема?

Edit:

Вот также пример случая:http://jsfiddle.net/tugberk/KLpwP/

Та же проблема и здесь.

Edit:

Я решил проблему, как показано в этом примере:http://jsfiddle.net/tugberk/KLpwP/16/ Но я все еще не уверен, почему это сработало, как я пытался вначале.

Ответы на вопрос(1)

Ваш ответ на вопрос