2

ko.observableArrayソート順が各項目の計算されたプロパティに依存する、独自のソート順を維持する が必要です。

これが機能することを望みます:

var threads = ko.observableArray().extend({ sorted: Thread.desc });

エクステンダーを使用するjsfiddleを試みましたが、子オブザーバブルを変更しても再ソートされません。

これは ko が機能する方法ですか、それとも手順がありませんか?

編集:依存関係が間違っていたことがわかりました。変更は、並べ替えメソッド内で呼び出されても変更済みとしてmessagesマークされないため、もちろん並べ替えは行われません。threadspreview

子供に依存することによってソートされたリストを維持するための簡潔な解決策をまだ考えています。

4

1 に答える 1

2

私はhttp://jsfiddle.net/E49Y3/11/に行き着きました。ここでは、別の計算されたプロパティを保持しています。

model.threads = ko.observableArray();
model.threadsDesc = ko.computed(function(){
    return model.threads().sort(Thread.desc)
});

動作します!

于 2013-05-24T03:29:46.200 に答える