ノックアウトモデルに基づくアイソトープビューのリセット/更新/再読み込みに問題があります。以前のフィドルを拡張してアイテムを削除および置換しましたが、信頼性が低く、並べ替えが壊れています。
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を「リセット」ボタンで拡張しました。このボタンは、observableArrayからすべてのアイテムを削除し、それらを1つずつ読み取ります。
IE10では完全に失敗します。フィドルの実行ペインはロードされません。
Chromeで部分的に機能しますが、リセット後、並べ替えが開始されるたびにコンソールエラーが出力されます。
Uncaught TypeError:オブジェクト#にはメソッド'sortBy'がありません
FFでは、chromeと同様のエラーで動作します。(しかし、私のアプリではソートに失敗します)
誰か助けてもらえますか?リセット後に機能するにはソートが必要です。問題を引き起こしているように見えるため、これがリセットの「最良の」方法であるかどうかはわかりません。