У меня возникают трудности со сбросом/обновлением/перезагрузкой представления Isotope на основе модели Knockout. Я расширил более раннюю скрипку, чтобы удалить и заменить элементы, но она ненадежна и нарушает сортировку.
self.reset = function () {
// Remove all services
$.each(self.services(), function (index, value) {
var serviceToDelete = self.services()[0]
self.removeService(serviceToDelete);
})
// Add some back
self.services.push(new Service('some service', 'and this is a description', 7, '01/01/2000'));
self.services.push(new Service('another service', 'just another description', 2, '02/01/2000'));
self.services.push(new Service('driving school', 'learn to drive', 4, '10/01/2000'));
self.services.push(new Service('ice cream sunday', 'sweet cold and delicious', 3, '01/01/2002'));
self.services.push(new Service('tootie fruity', 'a rootie', 6, '01/01/2003'));
self.services.push(new Service('hand gliding', 'you can see your house from here', 5, '01/01/2012'));
self.services.push(new Service('turkey dinner', 'is not just for thanksgiving', 1, '01/01/2011'));
}
Я расширил следующий jsfiddle с помощью кнопки «Сброс», которая просто удаляет все элементы из наблюдаемого массива и считывает их один за другим.
Он полностью терпит неудачу в IE10. Панель запуска fiddles даже не загружается.
Частично работает в Chrome, но после сброса консоли выдает ошибку всякий раз, когда инициируется сортировка:
Uncaught TypeError: объект # не имеет метода sortBy
В FF работает с той же ошибкой, что и в хроме. (но в моем приложении не удается отсортировать)
Кто-нибудь может помочь? Мне нужно, чтобы сортировка работала после сброса. Я не уверен, что это «лучший» способ сброса, поскольку он, похоже, вызывает проблемы.