このようにマークアップでソートObservableArray
していますが、何らかの理由で、新しいオブジェクトをページにプッシュするとObservableArray
、これは更新されません。
//store.get('pages') returns an ObservableArray
<!-- ko foreach:store.get('pages').sort(function (l , r ) { return l.pageNumber() < r.pageNumber() ? -1 : 1}) -->
<markup/>
<!--/ko-->
ただし、並べ替え呼び出しを削除すると、配列の変更がうまくキャッチされます。そのようです、
//works fine, updates when item pushed to observableArray
<!-- ko foreach:store.get('pages') -->
<markup/>
<!--/ko-->
簡単な回避策のアイデアはありますか?
編集:
valueHasMutated() を使用してみましたが、更新も強制しません。
回避策: 並べ替え呼び出しを observableArray のサブスクリプションに移動することになりましたが、現在は正常に機能しているようですが、理由はわかりません。